本文へ移動
cccskills
無料GitHub で公開

acceptance-test-driven-development

Write acceptance tests before unit tests to ensure you're building the right thing

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Acceptance Test-Driven Development (ATDD)

Workflow

ATDD extends TDD by adding an outer acceptance test loop:

  1. Write an acceptance test that describes the desired behavior from the user's perspective
  2. Run it — it should fail (the feature doesn't exist yet)
  3. Enter the TDD inner loop:
    • Write a failing unit test (RED)
    • Write minimal code to pass (GREEN)
    • Refactor (REFACTOR)
    • Repeat until the acceptance test passes
  4. Verify the acceptance test passes — the feature is complete

Acceptance Test Patterns

Acceptance tests should be named with these patterns:

  • *.acceptance.test.ts — acceptance/integration tests
  • *.e2e.test.ts — end-to-end tests

Key Principles

  • Acceptance tests describe WHAT, not HOW — they test observable behavior
  • Unit tests describe HOW — they test internal mechanics
  • Write acceptance tests in the language of the user/stakeholder
  • One acceptance test per user story or feature
  • Multiple unit tests per acceptance test — the inner TDD loop

Example Workflow

Feature: User registration

1. Write acceptance test: user-registration.acceptance.test.ts
   - Test: "User can register with email and password"
   - Test: "Registration fails with duplicate email"
   - Run → FAIL (no registration endpoint)

2. TDD inner loop:
   a. Unit test: validate-email.test.ts → RED → implement → GREEN
   b. Unit test: hash-password.test.ts → RED → implement → GREEN
   c. Unit test: create-user.test.ts → RED → implement → GREEN
   d. Unit test: registration-handler.test.ts → RED → implement → GREEN

3. Run acceptance test → PASS → Feature complete!

Anti-Patterns to Avoid

  • ❌ Writing unit tests without an acceptance test that frames the feature
  • ❌ Writing acceptance tests that test implementation details
  • ❌ Skipping the acceptance test because "it's a small feature"
  • ❌ Writing all acceptance tests upfront (write them one feature at a time)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Master backend architectures, REST API design, microservices, and server-side development across multiple languages. Use this as a central index to access specialized sub-skills.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

在每次回复中使用固定前缀并列出本次实际参考的指令/文件,便于校验是否遵循上下文与规则。

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

[00] META. Orchestrate skills into dynamic chains for complex tasks. Analyzes the task, discovers available skills, builds an optimal chain, explains why each skill is needed, and executes step-by-step with user confirmation. Use for any complex task requiring multiple thinking/research/analysis steps. Triggers on "plan this", "how to approach", "what's the strategy", "build a plan", or any multi-step problem requiring skill orchestration.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

MikeCheng1208 のスキルをすべて見る

このスキルの問題を報告する