テスト方針の書き方
テスト方針をCLAUDE.mdに書くと、Claudeはコード変更時に適切なテストを自動的に作成・実行してくれます。
テストフレームワークとカバレッジ目標
## テスト
### フレームワーク
- ユニットテスト: Vitest
- コンポーネントテスト: Testing Library
- E2Eテスト: Playwright
- カバレッジ目標: 80%以上
### 実行コマンド
- \`npm test\` — ユニットテスト実行
- \`npm test -- --coverage\` — カバレッジレポート生成
- \`npm run e2e\` — E2Eテスト実行
- \`npm run e2e -- --ui\` — Playwright UI モード
テストファイルの配置ルール
### ファイル配置
テストはソースファイルと同じディレクトリに配置する(colocated pattern):
\`\`\`
src/
components/
Button.tsx
Button.test.tsx ← ユニットテスト
services/
auth.ts
auth.test.ts
e2e/
login.spec.ts ← E2Eテスト
checkout.spec.ts
\`\`\`
### 命名規則
- ユニットテスト: \`*.test.ts(x)\`
- E2Eテスト: \`*.spec.ts\`(e2e/ ディレクトリに配置)
TDDワークフローの記述
### テスト駆動開発(TDD)
新機能の実装時は以下の順序で進める:
1. **テストを先に書く** — 期待する振る舞いをテストで定義
2. **最小限の実装** — テストが通る最小限のコードを書く
3. **リファクタリング** — テストが通る状態を維持しつつコードを改善
### テストの書き方
- Arrange-Act-Assert パターンで構成する
- テスト名は「何をしたら何が起こるか」を日本語で記述
- モックは最小限に。外部API・DBのみモック化する
- 境界値とエッジケースを必ずテストする
テスト方針を書く際のポイントは、テストフレームワーク名、カバレッジ目標、ファイル配置ルールの3つを最低限含めることです。これだけでClaudeのテスト生成品質が大きく向上します。