AgentSkillsCN

musubix-test-generation

测试代码生成指南,适用于采用 TDD/BDD 方法编写单元测试与集成测试。

SKILL.md
--- frontmatter
name: musubix-test-generation
description: テストコード生成ガイド。TDD/BDDによるユニット・統合テスト作成に使用。
license: MIT

Test Generation Skill

Article III - Test-First: Red-Green-Blue TDDサイクルでテストを生成。

TDD Cycle

code
🔴 Red (Failing Test) → 🟢 Green (Minimal Code) → 🔵 Blue (Refactor)

Test Categories

カテゴリ目的場所
Unit単一コンポーネント__tests__/unit/
Integration複数コンポーネント連携__tests__/integration/
E2Eフルユーザーフロー__tests__/e2e/

WHEN → DO

WHENDO
機能実装前テストを先に書く(Red)
テスト失敗最小限のコードで通す(Green)
テスト成功リファクタリング(Blue)

Test Template

typescript
/**
 * @requirement REQ-XXX-NNN
 * @design DES-XXX-NNN
 */
describe('XxxService', () => {
  let service: XxxService;
  
  beforeEach(() => {
    resetXxxCounter();  // BP-TEST-001
    service = new XxxService(new MockRepository());
  });

  it('should create entity with valid input', async () => {
    const result = await service.create({ name: 'Test' });
    expect(result.isOk()).toBe(true);
  });

  it('should return error for invalid input', async () => {
    const result = await service.create({ name: '' });
    expect(result.isErr()).toBe(true);
  });
});

Best Practices

IDパターン内容
BP-TEST-001Counter ResetbeforeEachでIDカウンターリセット
BP-TEST-004Result TypeisOk()/isErr()で両ケーステスト
BP-TEST-005Status Transition有効・無効遷移を網羅

CLI

bash
npx musubix test generate <design-file>  # テスト生成
npm test                                  # 全テスト実行
npx musubix test coverage src/            # カバレッジ計測

出力例

code
┌─────────────────────────────────────────┐
│ Test Generation Result                  │
├─────────────────────────────────────────┤
│ Source:     DES-AUTH-001               │
│ Unit Tests: 8 generated                 │
│ Coverage:   @requirement tags added     │
│ Patterns:   BP-TEST-001, 004, 005       │
│ Status:     Ready for TDD cycle         │
└─────────────────────────────────────────┘