1.2 KiB
1.2 KiB
name, description
| name | description |
|---|---|
| testing-skill | Testing best practices for Python and general projects. Use when writing unit tests, debugging test failures, or improving test coverage. |
Testing Skill
Test Structure (AAA Pattern)
def test_decision_layer_returns_action():
# Arrange
state = {"health": 80, "enemy_visible": True}
# Act
action = decision_layer.decide(state)
# Assert
assert action == "attack"
Pytest Tips
Parametrize to Avoid Duplication
import pytest
@pytest.mark.parametrize("health,expected", [
(100, "idle"),
(30, "flee"),
(0, "dead"),
])
def test_state_by_health(health, expected):
assert get_state(health) == expected
Use Fixtures for Shared Setup
@pytest.fixture
def mock_vision():
return {"objects": ["enemy", "wall"], "confidence": 0.95}
def test_understanding_layer(mock_vision):
result = understanding_layer.parse(mock_vision)
assert "enemy" in result["threats"]
What to Test
- ✅ Happy path (normal input)
- ✅ Edge cases (empty, None, boundary values)
- ✅ Error paths (invalid input raises expected exception)
- ❌ Don't test implementation details — test behavior