mockMvc - Test Error Message

前端 未结 4 1850
小蘑菇
小蘑菇 2021-02-03 20:29

Does anybody have any tips, or does anybody know how I can test the \"error message\" returned by the HTTP response object?

@Autowired
private WebApplicationCont         


        
4条回答
  •  深忆病人
    2021-02-03 21:32

    You can use the method status.reason().

    For example:

         @Test
         public void loginWithBadCredentials() {
            this.mockMvc.perform(
                    post("/rest/login")
                            .contentType(MediaType.APPLICATION_JSON)
                            .content("{\"username\": \"baduser\", \"password\": \"invalidPassword\"}")
                    )
                    .andDo(MockMvcResultHandlers.print())
                    .andExpect(status().isUnauthorized())
                    .andExpect(status().reason(containsString("Bad credentials")))
                    .andExpect(unauthenticated());
        }
    
    
        MockHttpServletResponse:
                      Status = 401
               Error message = Authentication Failed: Bad credentials
                Content type = null
                        Body = 
               Forwarded URL = null
              Redirected URL = null
                     Cookies = []
    

提交回复
热议问题