Spring BootのRESTControllerをJUnit4でテストする

求人
Spring BootのRESTControllerをJUnit4でテストする

RESTControllerをJUnitでテストします。

JUnitでテストする際は、src/main/java配下、src/test/java配下は同一階層のパッケージにしておきます。

DemoControllerクラスに対して、テストクラスはDemoControllerTestクラスというように最後にTestを付けます。

DemoControllerTestクラスの中身は以下のような感じになります。

Spring4.3から@RunWith(SpringRunner.class)と書くように変わったようです。

@SpringBootTest()で良いですが、RESTControllerのテストの場合のみ@SpringBootTest(webEnvironment=SpringBootTest.WebEnvironment.RANDOM_PORT)と記述します。

TestRestTemplateクラスを使用してGETやPOSTを実際に実行することができます。この際のポートはべた書きではダメで以下のように記述します。

getForObjectでGETのテストができます。

postForObjectでPOSTのテストができます。

Spring bootのテストではmockitoをデフォルトで使うようです。AssertJも使えました。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

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

CAPTCHA