Tagbangers Blog

JUnitテストについて

暖かくなったり寒くなったり毎日着る服に困りますね。こんばんは、内藤です。

今回はユニットテストについて書いていきたいと思います。

テストと言われたら、テスト仕様項目書を書いてそのテストを黙々とこなしていく方法しか知らなかった為、

テスト用のコードを書いてビルド時に自動的に実行してくれるなんて便利すぎるだろと感動しました。


JUnitテストって?

Javaプログラム単体テスト専用フレームワークです。

ユニットテストを描くことによって正しく動作しているか確認できます。

また、一度描くと何度も手軽にテストを行うことができますし、

同じようなテストを作成する場合に使い回すことも可能です。


今回、私はControllerのテストを作成したので

その中で仕様したアノテーションのまとめを書こうと思います。

@RunWith(SpringRunner.class)

テストを実行するための Runner を指定する為のアノテーションです。使いたい Runner のクラスを指定する。


@WebMvcTest(ExampleController.class)

指定したコントローラ Bean だけをインスタンス化してくれるアノテーションです。

サービス層のbeanはインスタンス化対象外ので、@MockBeanでインスタンス化します。


@MockBean

コントローラが依存するサービスのモックを準備してくれます。


@Before

パブリックなメソッドに付与することでテストメソッドを実行する前に実行されるメソッド


@Test

パブリックなメソッドに付与することでテストメソッドであることを認識させる。


使ったアノテーションはこれで全てです。間違い等ありましたら指摘して頂けたらと思います。