2
私はこのリンクを見ました:How to write a unit test for a Spring Boot Controller endpointユニットテスト - Spring Boot App
私はSpring Boot Controllerのユニットテストを予定しています。私は下のコントローラからメソッドを貼り付けました。私が上記のリンクに記載されているアプローチを使用する場合、私はservice.verifyAccount(要求)にする必要がありますか?コントローラーが指定された形式で要求を受け入れるかどうかをテストし、HTTPステータスコードのテストとは別に指定された形式で応答を返しますか?あなたはポートなどのすべてのサーバー構成を設定してください
@RunWith(SpringJUnit4ClassRunner.class)
// Your spring configuration class containing the
@EnableAutoConfiguration
// annotation
@SpringApplicationConfiguration(classes = Application.class)
// Makes sure the application starts at a random free port, caches it throughout
// all unit tests, and closes it again at the end.
@IntegrationTest("server.port:0")
@WebAppConfiguration
を使用してユニットテストケース を書くことができます
@RequestMapping(value ="verifyAccount", method = RequestMethod.POST, produces=MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<VerifyAccountResponse> verifyAccount(@RequestBody VerifyAccountRequest request) {
VerifyAccountResponse response = service.verifyAccount(request);
return new ResponseEntity<VerifyAccountResponse>(response, HttpStatus.OK);
}
Itあなたがサービスオブジェクトを嘲笑したかどうかによって異なります。あなたが嘲笑していないなら、それはサービスを呼び出すでしょう。 – notionquest
ありがとう@notionquest。 MockMvcの目的は何ですか?モックオブジェクトを使用しない場合、他の投稿のコード(受け入れられた回答)を使用してすべての依存関係が注入されますか? –
多分、この投稿はhttp://stackoverflow.com/questions/32223490/are-springs-mockmvc-used-for-unit-testing-or-integration-testingはあなたの「MockMvcの目的は何ですか」という質問に答えるのに役立ちます。 –