Chciałbym przetestować przykładową metodę z kontrolera
@GetMapping("/checkUsernameAtRegistering")
public HttpEntity<Boolean> checkUsernameAtRegistering(@RequestParam String username) {
return ResponseEntity.ok().body(!userService.existsByUsername(username));
}
która zwraca zawsze status OK.
Stworzyłem do tego test w Mockito
public class CheckUserDataRestControllerTest {
@Mock
private UserService userService;
@InjectMocks
private CheckUserDataRestController checkUserDataRestController;
private MockMvc mockMvc;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(checkUserDataRestController).build();
}
@Test
public void testCheckUsernameAtRegistering() throws Exception {
mockMvc
.perform(get("/checkUsernameAtRegistering")
.param("username", "jonki97"))
.andExpect(status().isOk());
}
}
Oczekuję statusu OK. Wiem, że to bez sensu, ale chcę tylko, aby test wykonał się prawidłowo. Mimo to po Successfully completed request wyrzuca
java.lang.AssertionError: Status
Expected :200
Actual :404
<Click to see difference>
at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:54)
...