Zarówno MockMvc, jak i RestTemplate są używane do testów integracyjnych ze sprężynami i JUnit.Różnica między MockMvc i RestTemplate w testach integracji
Pytanie brzmi: jaka jest różnica między nimi, a kiedy powinniśmy wybierać jedną nad drugą?
Oto tylko przykłady obu opcji:
//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());
Dla mojego przypadku użycia, myślę, że jest to najlepsze podejście, ponieważ RestTemplate sprawia ORM mapowanie odpowiedzi znacznie prostsze, gdy HATEOS (w szczególności) wchodzi w grę. – fquinner