Back to list
skanehira

writing-tests

by skanehira

my dotfiles

83🍴 4📅 Jan 21, 2026

SKILL.md


name: writing-tests description: TDD方法論に従ってテストを作成します。テスト対象コードの分析、AAA/Given-When-Thenパターンの適用、正常系・エッジケース・エラー系のカバレッジを確保します。「テストを書いて」「テストを作成」「単体テストを追加」などのリクエストで起動します。

テスト作成

TDD方法論に従ってテストを作成する。

参照ルール

  • テストルール: rules/core/testing.md(AAA、命名規則、テストダブル)
  • 設計原則: rules/core/design.md(コロケーション)
  • TDDルール: rules/core/tdd.md

ワークフロー

ステップ1: テスト対象の確認

テスト対象のコードを読み込み、以下を把握する:

  • 対象の機能/メソッドの責務
  • 入力と出力の型
  • エッジケースと境界条件
  • 依存関係(モックが必要か)

ステップ2: リファレンスの読み込み(必須)

Claude指示: テストを書く前に、必ず対応するリファレンスファイルをReadツールで読み込んでください。

プロジェクトの言語を特定し、以下のリファレンスをReadツールで読み込む:

言語/フレームワークリファレンス
React + TypeScriptreferences/react-typescript.md
Goreferences/go.md
Rustreferences/rust.md
// 例: Goプロジェクトの場合
Read(file_path=".claude/skills/writing-tests/references/go.md")

リファレンスを読まずにテストを書くことは禁止です。

ステップ3: テストファイルの配置

テストは実装の近くに配置する(コロケーション)。 詳細は rules/core/design.md を参照。

ステップ4: テスト命名

テスト名には3要素を含める。詳細は rules/core/testing.md を参照。

ステップ5: テスト構造

AAA (Arrange-Act-Assert) パターンを基本とする。 詳細は rules/core/testing.md を参照。

ステップ6: テストの種類と優先度

テスティングトロフィー(優先順位):

  1. 単体テスト(基盤): 高速、集中、多数
  2. 統合テスト(中間): コンポーネント間の相互作用
  3. E2Eテスト(頂点): 最小限だが重要なユーザーフロー

ステップ7: モック

依存性注入を活用してテスト可能にする。 テストダブルの種類は rules/core/testing.md を参照。

必須テストケース

  • 正常系: 期待通りの入力で期待通りの出力
  • エッジケース: 境界値、空の入力、最大値/最小値
  • エラー系: 不正な入力、例外処理

セルフレビュー

テスト作成後、以下のチェックリストで確認する。

  • テスト名が3要素(何を、条件、結果)を含んでいる
  • AAA/Given-When-Thenパターンに従っている
  • 正常系・エッジケース・エラー系をカバー
  • テストが独立していて他のテストに依存しない
  • モックが適切に使用されている
  • テストが高速に実行できる

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon