Usiamo MockMvc Framework per testare i Spring Controller con JUnit. Il controller restituisce DefferedResult
.Test di integrazione MockMvc Spring Up Spring con Embedded Cassandra
Il mockmvc.perform
sembra muggito
mockMvc.perform(post("/customer")
.accept(APPLICATION_JSON)
.header(AUTH_TOKEN_KEY, "xyz")
.header(FROM_KEY, "[email protected]")
.content(json)
.contentType(APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(request().asyncStarted());
e ci vuole un sacco di tempo. Utilizziamo la cassandra incorporata e per questo ci vuole molto tempo.
Ho provato anche questo, ma è lo stesso.
MvcResult mvcResult = mockMvc.perform(post("/customer")
.accept(APPLICATION_JSON)
.header(AUTH_TOKEN_KEY, "xyz")
.header(FROM_KEY, "[email protected]")
.content(json)
.contentType(APPLICATION_JSON))
.andReturn();
mockMvc.perform(asyncDispatch(mvcResult))
.andExpect(status().isOk())
.andExpect(request().asyncStarted());
Ho centinaia di test, per cui il processo di compilazione è molto lento.
C'è un modo, utilizzando JUnit posso dire eseguire la richiesta e attendere la risposta in un altro thread per affermare i risultati, o comunque un buon modo per accelerarlo.
Grazie
Penso che il modo migliore per ottenere una risposta sia creare uno snippet completo end-to-end, ad es. ospitato su una pagina GitHub da qualche parte in modo che le persone possano giocare con un gioco e vedere le statistiche sul rendimento. A causa della natura di questo (test di integrazione) dubito che otterrete una risposta accurata e utile senza fornire del codice. – bobmarksie