spring-testing-fundamentals について
AssertJ、Mockito、JUnit 5を使ったSpringの基本的なテスト手法を扱うスキルです。テストスライスの選択、コンテキストキャッシュ、Boot 4のアノテーション移行も案内します。
主な機能
- 01AssertJのアサーションパターン
- 02Mockitoのスタブと検証
- 03ArgumentCaptorの使い方
- 04テストスライス選択の指針
- 05コンテキストキャッシュと@DirtiesContext
- 06Boot 4のアノテーション移行
活用シーン
- 01Springアプリケーションのユニットテスト作成
- 02Springのテストスライスアノテーション選択
- 03コンテキストキャッシュによるテスト低速化の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ spring-ai-community/ spring-testing-skills --skill spring-testing-fundamentalsインストール後、Claude Code で/spring-testing-fundamentalsを入力して読み込まれたか確認します。
同梱ファイルreferences/assertj-mockito-idioms.mdreferences/cross-cutting-testing-patterns.md
詳細
Spring テストの基礎
シグナル:assertThat、assertThatThrownBy、given/willReturn、then(mock).should、ArgumentCaptor、@MockitoBean、@MockitoSpyBean、@DirtiesContext、コンテキストキャッシュ、テストピラミッド
テスト対象バージョン
- Spring Boot 3.2+ / Spring Boot 4.x
- Spring Framework 6.x / Spring Framework 7.x
- AssertJ 3.24+
- Mockito 5.x
- JUnit 5
このスキルを使用しない場合
ドメイン固有のパターンが必要な場合:
- JPA リポジトリ、Testcontainers、
@DataJpaTestのテスト →spring-jpa-testingを使用 - REST コントローラー、MockMvc、
@WebMvcTestのテスト →spring-mvc-testingを使用 - セキュリティ、
@WithMockUser、JWT、OAuth2 のテスト →spring-security-testingを使用 - リアクティブコントローラー、
@WebFluxTest、StepVerifierのテスト →spring-webflux-testingを使用 - WebSocket/STOMP のテスト →
spring-websocket-testingを使用
リファレンスを読むタイミング
| 状況 | 参照先 |
|---|---|
| AssertJ のスカラー、Optional、BigDecimal、コレクション、例外 | references/assertj-mockito-idioms.md |
BDDMockito の given/willReturn、then(mock).should、引数マッチャー | references/assertj-mockito-idioms.md |
ArgumentCaptor の使用方法と検証パターン | references/assertj-mockito-idioms.md |
UnnecessaryStubbingException と厳格なスタブ設定の修正 | references/assertj-mockito-idioms.md |
Boot 4 における @MockitoBean と @MockitoSpyBean の違い | references/assertj-mockito-idioms.md |
| テストピラミッド:各スライスアノテーションを使うタイミング | references/cross-cutting-testing-patterns.md |
コンテキストキャッシュ:テストが遅い理由、キャッシュキー、@DirtiesContext の影響 | references/cross-cutting-testing-patterns.md |
| Spring のあらゆるテスト種別に共通するアンチパターン | references/cross-cutting-testing-patterns.md |
| Boot 4 のアノテーション移行チェックリスト | references/cross-cutting-testing-patterns.md |
コメント
Markdown 対応