test-first
SKILL.md
Test-First Development Skill
Test-First Development (TDD) ensures that code is written to satisfy specific, predefined requirements, leading to higher quality and better design.
TDD Workflow
- Red: Write a failing test for a small piece of functionality.
- Green: Write the minimum amount of code required to make the test pass.
- Refactor: Clean up the code while ensuring the tests remain green.
Test Design Principles
1. Comprehensive Coverage
- Normal Cases: Test the expected "happy path" behavior.
- Boundary Values: Test inputs at the edges of valid ranges (e.g., 0, max_int, empty strings).
- Edge Cases: Test unusual or extreme conditions (e.g., network timeout, disk full, null values).
- Error Handling: Verify that the system fails gracefully and returns appropriate error messages.
2. Structure (Arrange-Act-Assert)
Follow the AAA pattern for clear and maintainable tests:
- Arrange: Set up the necessary preconditions and inputs.
- Act: Execute the function or method being tested.
- Assert: Verify that the outcome matches the expectation.
Best Practices
- One Assertion per Test: Aim to test a single concept per test case.
- Descriptive Naming: Name tests clearly (e.g.,
test_should_reject_invalid_api_key). - Independence: Ensure tests do not depend on each other or on a specific execution order.
- Fast Execution: Keep unit tests fast to encourage frequent execution.
Weekly Installs
9
Repository
s-hiraoku/synapse-a2aFirst Seen
9 days ago
Security Audits
Installed on
amp9
gemini-cli9
claude-code9
github-copilot9
codex9
kimi-cli9