132-java-testing-integration-testing について
HTTP 依存関係を扱う統合テストの作成やレビュー向けの Java スキルです。WireMock の設定、テストごとのスタブ分離、障害注入、リクエスト検証を扱い、変更前のコンパイルと全ビルドの確認を求めます。
主な機能
- 01HTTP クライアント連携の検出
- 02BaseIntegrationTest の設定
- 03動的ポートでの WireMock 利用
- 04テストごとのスタブ登録
- 05サービスエラーと遅延の注入
- 06送信リクエストの検証
活用シーン
- 01Java HTTP 統合テストの作成
- 02スタブ依存関係を使ったサービスのテスト
- 03停止や遅延への対応確認
- 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-standaloneMaven 依存関係(テストスコープ)- アンチパターン:グローバルな
@BeforeAllスタブ、Mockito でモック化した HTTP クライアント、ハードコードされたポートや URL
対象範囲: リファレンスは、各主要領域について例(適切なコードパターン/不適切なコードパターン)ごとに構成されています。該当する例に基づいて推奨事項を適用してください。
制約
統合テストに変更を加える前に、プロジェクトがコンパイルできることを確認してください。コンパイルに失敗した場合は、ただちに中止し、解決するまで先に進まないでください。改善を適用した後は、完全な検証を実行してください。
- 必須:変更を適用する前に
./mvnw compileまたはmvn compileを実行します - 安全性:コンパイルに失敗した場合は、ただちに中止し、先に進まないでください。コンパイル失敗は作業を阻止する条件です
- 検証:改善を適用した後に
./mvnw clean verifyまたはmvn clean verifyを実行します - 適用前:詳細な例、適切/不適切なパターン、制約について、リファレンスを読んでください
このスキルを使用する場面
- Java コードの統合テストをレビューする
- Java コードの統合テストにベストプラクティスを適用する
- 実際のインフラストラクチャ境界を用いた Java 統合テストを作成する
- Java コードの Testcontainers 統合テストを改善する
- Java プロジェクトの統合テストのセットアップとクリーンアップをレビューする
ワークフロー
- 統合テストを変更する前にプロジェクトをコンパイルする
./mvnw compile または mvn compile を実行し、コンパイルに失敗した場合はただちに中止します。
- 統合テストのリファレンスを読み、トポロジーを検出する
references/132-java-testing-integration-testing.md を読み、HTTP クライアントと外部依存関係の統合ポイントを検出します。
- 堅牢な統合テスト基盤を構築する
BaseIntegrationTest、WireMock マッピング/スタブ、テストごとの分離、検証パターンを実装します。
- 完全なビルドで検証する
改善を適用した後に ./mvnw clean verify または mvn clean verify を実行します。
リファレンス
詳細なガイダンス、例、制約については、references/132-java-testing-integration-testing.md を参照してください。