mcpField
T
test-first

test-first

github.com/s-hiraokuテスト・品質1769 回インストール2 週間前に更新
リポジトリ

test-first について

Red-Green-Refactor サイクルを用いるテストファースト開発スキルです。テスト構成、境界条件の網羅、信頼性と保守性を高める実践を扱います。

主な機能

  1. 01Red-Green-Refactor ワークフロー
  2. 02正常系と境界条件の網羅
  3. 03Arrange-Act-Assert 構成
  4. 04独立性と明確さを備えたテスト
  5. 05高速なユニットテストの指針

活用シーン

  1. 01失敗するテストから機能開発を始める
  2. 02境界値とエラー動作を確認する
  3. 03一つの概念ごとにテストを整理する
  4. 04保守しやすいユニットテストを維持する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/s-hiraoku/synapse-a2a --skill test-first

インストール後、Claude Code で/test-firstを入力して読み込まれたか確認します。

詳細

テストファースト開発スキル

テストファースト開発(TDD)では、事前に定義した特定の要件を満たすコードを記述することで、品質と設計を向上させます。

TDD のワークフロー

  1. Red:小さな機能に対する失敗するテストを記述します。
  2. Green:テストを通すために必要な最小限のコードを記述します。
  3. Refactor:テストが成功した状態を維持しながら、コードを整理します。

テスト設計の原則

1. 包括的なカバレッジ
  • 通常のケース:想定される「ハッピーパス」の動作をテストします。
  • 境界値:有効な範囲の端にある入力をテストします(例:0、max_int、空文字列)。
  • エッジケース:通常とは異なる、または極端な条件をテストします(例:ネットワークタイムアウト、ディスク容量不足、null 値)。
  • エラー処理:システムが適切に失敗し、適切なエラーメッセージを返すことを確認します。
2. 構成(Arrange-Act-Assert)

明確で保守しやすいテストにするため、AAA パターンに従います。

  • Arrange:必要な事前条件と入力を準備します。
  • Act:テスト対象の関数またはメソッドを実行します。
  • Assert:結果が期待どおりであることを確認します。

ベストプラクティス

  • テストごとにアサーションを 1 つ:各テストケースでは、1 つの概念をテストすることを目指します。
  • 説明的な命名:テストには内容が明確に分かる名前を付けます(例:test_should_reject_invalid_api_key)。
  • 独立性:テスト同士が依存せず、特定の実行順序にも依存しないようにします。
  • 高速な実行:頻繁な実行を促すため、単体テストを高速に保ちます。

コメント