Java 测试返回true,而它应该返回false,反之亦然
继续我的线程。还有一个问题 那么这个方法,Java 测试返回true,而它应该返回false,反之亦然,java,spring,spring-mvc,spring-boot,mockito,Java,Spring,Spring Mvc,Spring Boot,Mockito,继续我的线程。还有一个问题 那么这个方法, @GetMapping("/checkUsernameAtRegistering") public HttpEntity<Boolean> checkUsernameAtRegistering(@RequestParam String username) { return ResponseEntity.ok().body(!userService.existsByUsername(username)); } 返回true。
@GetMapping("/checkUsernameAtRegistering")
public HttpEntity<Boolean> checkUsernameAtRegistering(@RequestParam String username) {
return ResponseEntity.ok().body(!userService.existsByUsername(username));
}
返回true。我有一个用户名为该用户名的用户,该方法应返回false。然而,事实并非如此
java.lang.AssertionError: Response content
Expected :false
Actual :true
我想我很懂语法
.andExpect(content().string("false"));
我希望字符串的值为false。如何告诉服务返回什么?您可以用Mockito的模拟服务返回
你的样品对我“有用”。假设您的路径实际上是正确的(
/checkUserData/checkUsername
vs/checkusernameartregisting
)。在另一个论坛上,我得到了答案:“你在哪里对这个网站的设置进行了模拟,使其返回真的?”?因为你把他关起来了,但没有任何期待。一点也不起作用的奇迹可能是mockito默认值提供了一个很好的moc,它在所有意外调用时都返回null/0/false。“但我不知道它是什么。我猜您的代码拆分器不适合。您明确地声明expect为false,但显示的断言Error显示“Expected:true”。很抱歉,这不起作用。继续相同的错误。我犯了一个错误,应该是when(userService.existsByUsername(“jonki97”))。然后返回(true)
.andExpect(content().string("false"));
@Test
public void textExistsUsername() throws Exception {
when(userService.existsByUsername("jonki97")).thenReturn(true);
mockMvc
.perform(get("/checkUserData/checkUsername")
.param("username", "jonki97"))
.andExpect(status().isOk())
.andExpect(content().string("false"));
}