Spring Bootのテストコードで使うアノテーション解説




どうも高妻です。Twitterでもプログラミングのことや暗号通貨のことをつぶやいているのでよかったら覗きにきてください。  

Spring Bootでテストコードを書く

Spring Bootでテストコードを書く際にどんな動作をするか分からないアノテーションだらけってことは初心者にはよくあると思います。自分がまさしくそうです。今も完璧には理解してないです。。。

アノテーションはSpringのいいところでもあるのですが黒魔術すぎてそれぞれが何をしているのか分からないけど、とりあえずクラスの先頭に付けとけ的な記事が多いのでそれぞれのアノテーションいついて説明します。

事前準備

Spring Bootのテストにはspring-boot-starter-testを使用するので下記を追加しておいて下さい。

  • gradleの場合はbuild.gradle
  • mavenの場合はpom.xml
 

使用するアノテーション

今回説明するのは下記3つです。

  1. @TestExecutionListeners

  2. @RunWith

  3. @SpringBootTest

@TestExecutionListeners

TestExecutionListenersは、指定したListenerをTestContextManagerに設定することができ、さまざまなタイプの機能を使用することができるようになります。

下記はテストで使える3つの機能を設定したものをKotlinで書いてます。

 

@RunWith

テストを何で実行するか指定することができます。Spring4.3以降からSpringJUnit4ClassRunnerと同じ機能をSpringRunnertという別名のクラスで使用できるようになったので基本的にこっちを指定しておけば大丈夫です。

 

@SpringBootTest

テストでSpringBootの機能を使えるようにしているものでapplication.propertiesなどの設定ファイルを読み込んだりしてくれています。

 

まとめ

以上の3つをまとめるとこんな感じになります。Spring Bootでのテストは最低限この3つがないとテストができないのでテストコードを書くときはこのアノテーションをクラスの先頭に書いてテストを書いてください。

最後に

Spring Bootで他にもはまったことがあるので下記リンクを参考にしてみてください。

おすすめ書籍







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です