Entrambe MockMvc e RestTemplate vengono utilizzate per i test di integrazione con Spring e JUnit.Differenza tra MockMvc e RestTemplate nei test di integrazione
La domanda è: qual è la differenza tra loro e quando dovremmo scegliere l'uno rispetto all'altro?
Qui ci sono solo esempi di entrambe le opzioni:
//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());
Per il mio caso d'uso, credo che questo sia l'approccio migliore in quanto RestTemplate rende ORM mappatura della risposta molto più semplice quando HATEOS (in particolare) entra in gioco. – fquinner