はじめに
Spring Bootの単体テストを行う際、PJ先によって異なるな~と思ったので
どのテストパターン(アノテーション)で作成することが推奨されているのか整理してみました。
- 環境
- 言語:Java
- フレームワーク:Spring boot、JUnit、Mockito
- 対象
- コントローラ
- サービス
- リポジトリ
結論
公式ドキュメントに全て書いてました。
ざっくり整理すると以下になります。
- コントローラ → @WebMvcTest
- サービス → @MockBean
- リポジトリ → @DataJpaTest
@SpringBootTestでいいのでは?とも思ったのですが、一応SpringBootTestは”統合(結合)テスト”に分類されるものなので、PJや人によっては使い分けた方がいいという意見が出そうです。
今度骨組みとしていくつかパターンを書いてみようと思います。