mcpField
E
engram-testing-coverage

engram-testing-coverage

github.com/gentleman-programmingテスト・品質7.7k98 回インストール今日更新
リポジトリ

engram-testing-coverage について

engram-testing-coverage は、動作の追加やバグ修正、複雑なロジックのリファクタリングに使うテストスキルです。TDD の流れと、ローカルおよび CI の検証証跡に関する指針を示します。

主な機能

  1. 01失敗テストから始める TDD
  2. 02正常系と境界ケースの網羅
  3. 03決定性の高いテストを優先
  4. 04対象を絞ったローカル回帰テスト
  5. 05CI の証跡記録と報告の指針

活用シーン

  1. 01新しい動作にテストを追加
  2. 02バグの再現と修正
  3. 03分岐のあるロジックをリファクタリング
  4. 04プルリクエストの検証結果を記録

インストール

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

$npx skills add https://github.com/gentleman-programming/engram --skill engram-testing-coverage

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

詳細

使用するタイミング

次の場合にこのスキルを使用します。

  • 新しい動作を追加するとき
  • バグを修正するとき
  • 分岐が複雑なロジックをリファクタリングするとき

TDD のサイクル

  1. 対象の動作に対する失敗するテストを書きます。
  2. テストに合格する最小限のコードを実装します。
  3. テストがすべて成功する状態を保ちながらリファクタリングします。
  4. 完了する前に、エッジケースとエラー経路のテストを追加します。

カバレッジのルール

  • 正常系、エラー経路、エッジケースをカバーします。
  • 不安定な統合テストより、決定論的なテストを優先します。
  • 分岐を自然に実行できない場合に限り、テスト用の接続箇所を追加します。
  • 接続箇所を追加する場合も、実行時の動作は変更しません。

検証の責任範囲

検証は候補に関する証拠であり、CI は自動実行の場であって、ローカルでの対象を絞った検証の代わりにはなりません。

  • 動作を変更した場合は、変更を提案する前に、対象を絞った回帰テストと、影響を受けるパッケージのテストをローカルで実行します。実行したコマンドと結果を報告します。
  • 見落とした動作や分岐を探すのに役立つ場合は、対象を絞ったカバレッジを使用します。すべての PR で数値目標やモジュール全体のカバレッジを必須にする必要はありません。
  • 候補を PR にプッシュした後は、GitHub CI がユニットテストスイート(go test ./...)、E2E テストスイート(go test -tags e2e ./internal/server/...)、リンター、および該当するプラットフォームチェックをすべて実行します。これらのチェックが実際に実行されるまでは、CI の検証結果を報告しないでください。
  • PR がない場合、候補が未プッシュの場合、またはリスクを考慮して追加の検証が妥当な場合は、該当する追加チェックをローカルで実行します。実行できなかったチェックは、CI でカバーされたと主張せず、証拠がないものとして報告します。PR の CI で幅広いテストスイートが実行される場合は、通常、ローカルでの重複実行を避けてください。

コメント