我尝试测试响应中的字段是否不等于某个值,如下所示:
@Test
void whenAnAuth0ExceptionIsThrown_itShouldNotLeakInformation() throws Exception {
String description = "Resource not found.";
Auth0Exception auth0Exception = new Auth0Exception(description);
when(usersService.getRoles()).thenThrow(new UnrecoverableAuthException("api exception", auth0Exception));
mockMvc.perform(get("/v1/users/roles").with(csrf()))
.andExpect(status().isInternalServerError())
.andExpect(jsonPath("$.errorMessage").value(AdditionalMatchers.not(description)));
verify(usersService).getRoles();
}
但当我尝试这样做时,我得到以下错误:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
No matchers found for additional matcher Not(?)
我发现的一个解决方法是使用andReturn()
,然后测试MvcResult
。
1条答案
按热度按时间sr4lhrrt1#
你很接近了。