安装
npx skills add https://github.com/s-hiraoku/synapse-a2a --skill test-first
- 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.
← 返回排行榜