test-first

Test-First Development Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "test-first" with this command: npx skills add s-hiraoku/synapse-a2a/s-hiraoku-synapse-a2a-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.

  1. 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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

opencode-expert

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-simplifier

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review