mcpField
1
132-java-testing-integration-testing

132-java-testing-integration-testing

github.com/jabrenaテスト・品質456381 回インストール1 日前に更新
リポジトリ

132-java-testing-integration-testing について

HTTP 依存関係を扱う統合テストの作成やレビュー向けの Java スキルです。WireMock の設定、テストごとのスタブ分離、障害注入、リクエスト検証を扱い、変更前のコンパイルと全ビルドの確認を求めます。

主な機能

  1. 01HTTP クライアント連携の検出
  2. 02BaseIntegrationTest の設定
  3. 03動的ポートでの WireMock 利用
  4. 04テストごとのスタブ登録
  5. 05サービスエラーと遅延の注入
  6. 06送信リクエストの検証

活用シーン

  1. 01Java HTTP 統合テストの作成
  2. 02スタブ依存関係を使ったサービスのテスト
  3. 03停止や遅延への対応確認
  4. 04統合テスト設定のレビュー

インストール

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

$npx skills add https://github.com/jabrena/plinth --skill 132-java-testing-integration-testing

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

同梱ファイルreferences/132-java-testing-integration-testing.md

詳細

Java 統合テストのガイドライン

WireMock を使用して外部 HTTP 依存関係をスタブ化し、Java サービス向けの堅牢な統合テスト基盤を構築します。

このスキルで扱う内容

  • インフラストラクチャトポロジーの検出:HttpClient、feign.*、retrofit2.*、RestTemplate のインポートをスキャンします
  • 抽象 BaseIntegrationTest 基底クラス
  • @RegisterExtension を使用する WireMockExtension、動的ポート割り当て(dynamicPort())
  • usingFilesUnderClasspath(wiremock)、@BeforeAll と System.setProperty() による座標の伝達
  • WireMock JSON マッピングファイル(wiremock/files/ を参照する bodyFileName)
  • WireMock DSL によるプログラムでのスタブ登録
  • テストごとのスタブ分離:各テストメソッド内でスタブを登録します
  • 障害の注入:503 Service Unavailable、withFixedDelay によるネットワーク遅延
  • WIREMOCK.verify によるリクエストの検証
  • wiremock-standalone Maven 依存関係(テストスコープ)
  • アンチパターン:グローバルな @BeforeAll スタブ、Mockito でモック化した HTTP クライアント、ハードコードされたポートや URL

対象範囲: リファレンスは、各主要領域について例(適切なコードパターン/不適切なコードパターン)ごとに構成されています。該当する例に基づいて推奨事項を適用してください。

制約

統合テストに変更を加える前に、プロジェクトがコンパイルできることを確認してください。コンパイルに失敗した場合は、ただちに中止し、解決するまで先に進まないでください。改善を適用した後は、完全な検証を実行してください。

  • 必須:変更を適用する前に ./mvnw compile または mvn compile を実行します
  • 安全性:コンパイルに失敗した場合は、ただちに中止し、先に進まないでください。コンパイル失敗は作業を阻止する条件です
  • 検証:改善を適用した後に ./mvnw clean verify または mvn clean verify を実行します
  • 適用前:詳細な例、適切/不適切なパターン、制約について、リファレンスを読んでください

このスキルを使用する場面

  • Java コードの統合テストをレビューする
  • Java コードの統合テストにベストプラクティスを適用する
  • 実際のインフラストラクチャ境界を用いた Java 統合テストを作成する
  • Java コードの Testcontainers 統合テストを改善する
  • Java プロジェクトの統合テストのセットアップとクリーンアップをレビューする

ワークフロー

  1. 統合テストを変更する前にプロジェクトをコンパイルする

./mvnw compile または mvn compile を実行し、コンパイルに失敗した場合はただちに中止します。

  1. 統合テストのリファレンスを読み、トポロジーを検出する

references/132-java-testing-integration-testing.md を読み、HTTP クライアントと外部依存関係の統合ポイントを検出します。

  1. 堅牢な統合テスト基盤を構築する

BaseIntegrationTest、WireMock マッピング/スタブ、テストごとの分離、検証パターンを実装します。

  1. 完全なビルドで検証する

改善を適用した後に ./mvnw clean verify または mvn clean verify を実行します。

リファレンス

詳細なガイダンス、例、制約については、references/132-java-testing-integration-testing.md を参照してください。

コメント