MockMvc 和 RestTemplate 都用于与 Spring 和 JUnit 的集成测试。
问题是:它们之间有什么区别,什么时候我们应该选择一个而不是另一个?
以下是两种选择的示例:
//MockMVC example
mockMvc.perform(get("/api/users"))
.andExpect(status().isOk())
(...)
//RestTemplate example
ResponseEntity<User> entity = restTemplate.exchange("/api/users",
HttpMethod.GET,
new HttpEntity<String>(...),
User.class);
assertEquals(HttpStatus.OK, entity.getStatusCode());
原文由 Denis C de Azevedo 发布,翻译遵循 CC BY-SA 4.0 许可协议
如 本文 所述,当您要测试应用程序的 服务器端 时,您应该使用
MockMvc
:例如:
和
RestTemplate
当你想测试 Rest 客户端 应用程序时你应该使用:例子:
也阅读 这个例子