SpringBootのSpringTestで@RestControllerリクエストのWebレイヤーテストをする方法( JUnit ) 

SpringTestで@Controller のテストを実際のHTTPリクエストでテストしたい時ありますよね。

今回は「MockMvc」を使ってWebレイヤーテストをする方法を書き溜めます。

まずは200のhead応答だけをするRestControllerを定義します。
/healthcheck にGETリクエストすると 200応答します。

次に、この/healthcheckパスに対してHTTP GETリクエストして応答をテストするJUnitを書きます。
MockMvcを初期化してperform関数を呼ぶことでテストできます。

mockMvc.perform(get("/healthcheck")).andExpect(status().is(200)) の部分ですね。
応答のHTTPステータスが200 であることをチェックしています。

HTTP POSTでBodyを送る場合、.content() を使います。