Zły status zwracany z testu Mockito

0

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)
        ...

screen: https://zapodaj.net/b8a04ae469a8e.png.html

0
Jonki1997 napisał(a):

mockMvc = MockMvcBuilders.standaloneSetup(checkUserDataRestController).build();

A co się dzieje jak zamiast mocka użyjesz tutaj nowej instancji kontrolera?

mockMvc = MockMvcBuilders.standaloneSetup(new CheckUserDataRestController()).build();

1 użytkowników online, w tym zalogowanych: 0, gości: 1