Wie überprüft man String im Antworttext mit mockMvc?

Habe ich einfache integration test

    @Test
public void shouldReturnErrorMessageToAdminWhenCreatingUserWithUsedUserName() throws Exception {
    mockMvc.perform(post("/api/users").header("Authorization", base64ForTestUser).contentType(MediaType.APPLICATION_JSON)
            .content("{\"userName\":\"testUserDetails\",\"firstName\":\"xxx\",\"lastName\":\"xxx\",\"password\":\"xxx\"}"))
            .andDo(print())
            .andExpect(status().isBadRequest())
            .andExpect(?);
}

In der letzten Zeile möchte ich vergleichen Zeichenfolge als Antwort erhaltenen Körper zu erwarten string

Und als Antwort bekomme ich:

MockHttpServletResponse:
          Status = 400
   Error message = null
         Headers = {Content-Type=[application/json]}
    Content type = application/json
            Body = "Username already taken"
   Forwarded URL = null
  Redirected URL = null

Versuchte einige tricks, mit Inhalt(), body (), aber nichts hat funktioniert.

Kommentar zu dem Problem
Nur als Ratschlag, 400 status-code sollte nicht zurückgegeben werden, für so etwas wie "Benutzername bereits vergeben". Das sollte mehr ein 409 Konflikt. Kommentarautor: Sotirios Delimanolis
Danke - das Ziel dieses Tests ist die Angabe, solche Dinge. Kommentarautor: pbaranski

InformationsquelleAutor der Frage pbaranski | 2013-08-20

Schreibe einen Kommentar