【发布时间】:2017-01-30 02:56:02
【问题描述】:
我查看了这个链接:How to write a unit test for a Spring Boot Controller endpoint
我计划对我的 Spring Boot 控制器进行单元测试。我从下面的控制器中粘贴了一个方法。当我使用上面链接中提到的方法时,我必须调用 service.verifyAccount(request) 吗?除了测试 HTTP 状态码,我们是否只是测试控制器是否接受指定格式的请求并返回指定格式的响应?
@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);
}
【问题讨论】:
-
这取决于你是否模拟了服务对象。如果你没有模拟,它会调用服务。
-
谢谢@notionquest。 MockMvc 的目的是什么,如果我不使用模拟对象,我的所有依赖项都会通过使用另一篇文章中的代码(已接受的答案)注入吗?
-
也许这篇stackoverflow.com/questions/32223490/… 的帖子有助于回答您的“MockMvc 的目的是什么”的问题。