java / beginner
Snippet
Simulieren von HTTP-GET-Anfragen mit MockMvc
MockMvc ermöglicht das schnelle und isolierte Testen von Spring MVC-Controllern, ohne einen vollwertigen HTTP-Server starten zu müssen. Sie können Anfragen simulieren und Statuscodes sowie JSON-Antworten deklarativ überprüfen.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
@WebMvcTest(UserController.class)class UserControllerTest {@Autowiredprivate MockMvc mockMvc;@Testvoid shouldReturnOkForUserEndpoint() throws Exception {mockMvc.perform(get("/users/1")).andExpect(status().isOk()).andExpect(jsonPath("$.name").value("Alice"));}}
spring
Erklärung
1
@WebMvcTest(UserController.class)
Initialisiert nur die für den angegebenen Controller benötigten Komponenten der Web-Schicht.
2
@Autowired private MockMvc mockMvc;
Injiziert den MockMvc-Helfer aus dem Spring Test-Framework.
3
mockMvc.perform(get("/users/1"))
Simuliert eine HTTP-GET-Anfrage an die Route /users/1.
4
.andExpect(status().isOk())
Prüft, ob der HTTP-Antwortcode 200 OK lautet.
5
.andExpect(jsonPath("$.name").value("Alice"));
Untersucht den JSON-Antwortkörper via JsonPath auf den erwarteten Namenswert.