JUnitの記事一覧
JUnit に関する記事を 8 本まとめています。Spring Boot の実装・設計・運用の観点で関連テーマを横断して読めます。
-
Spring Boot + MyBatisでMapperを単体テストする方法 - @MybatisTestが存在しない理由とH2/Testcontainersでの代替構成
MyBatisのMapperには@DataJpaTest相当の専用スライステストが存在しない。その理由をSqlSessionとの結合度から解説し、@SpringBootTest最小構成・軽量Java Config・H2・Testcontainersの4パターンを比較表と動くコードで示す。
-
Spring Bootのテストで@Sqlアノテーションを使ってテストデータを投入する方法
@DataJpaTestや@SpringBootTestで@Sqlアノテーションを使い、テストごとに宣言的にフィクスチャデータを投入する方法を解説。executionPhaseやerrorModeの使い分け、data.sqlとの違いまで実例付きで紹介します。
-
Spring Boot @JsonTestでJSONシリアライズ/デシリアライズをテストする方法 - JacksonTesterとObjectMapperの検証
@JsonTestスライスとJacksonTesterを使い、DTOのシリアライズ/デシリアライズ仕様を軽量・高速にテストする方法を解説。日付フォーマットやnull除外設定、@JsonComponentのカスタムSerializer/Deserializerの回帰防止まで実装例付きで紹介します。
-
Spring SecurityとMockMvcを組み合わせて認証必須APIをテストする方法 - @WithMockUser・SecurityMockMvcRequestPostProcessorsの使い分け
Spring Securityを導入したControllerを@WebMvcTestでテストすると401/403で失敗する原因を解説し、@WithMockUser・@WithUserDetails・SecurityMockMvcRequestPostProcessors(user()/csrf()/authentication())を使い分けて認証済み状態を再現する実装方法を紹介します。
-
Spring Bootのテストアノテーション使い分け早見表 - @SpringBootTest・@WebMvcTest・@DataJpaTestの選び方
Spring Bootのテストアノテーションの使い分けを早見表と判断フローで整理します。@SpringBootTest・@WebMvcTest・@DataJpaTest・@JsonTest・@RestClientTestの起動範囲と速度の違い、@MockitoBeanやMockMvc・Testcontainersとの組み合わせをレイヤー別に解説します。
-
Spring BootでMockMvcを使ったControllerの単体テストを書く方法 - @WebMvcTest入門
DB不要・高速でコピペで動くController単体テストを@WebMvcTestとMockMvcで実現。@MockBeanでServiceをモック化し、jsonPathでJSON検証、バリデーションエラー(400)、Security(@WithMockUser)まで実装例付きで解説します。
-
Spring Bootで結合テストを書く方法 - @SpringBootTestとTestcontainersでDBまで通したテスト
@SpringBootTestでアプリ全体を起動するテストの書き方と、TestcontainersでDockerコンテナ上の実DBに接続した結合テストの実装手順をコード例とともに解説します。
-
Spring Bootでテストを書こう - JUnitとMockitoで始める単体テスト入門
Spring Bootの単体テストをJUnit 5とMockitoで書く方法を、Service層(@Mock/@InjectMocks)とController層(@WebMvcTest/@MockBean/MockMvc)に分けて段階的に解説。Given-When-Thenパターン、正常系・異常系、assertThrowsまで具体的なコード例で学べます。