Как правильно проверить аутентификацию при использовании Spring Boot JUnit

#java #spring-boot #testing #junit

Вопрос:

Я пытаюсь проверить аутентификацию приложения Spring Boot с помощью JUnit. У меня есть @Autowired MockMvc объект, и я попытался выполнить запрос на URL-адрес обработки аутентификации Spring Security. Я знаю, что логин и аутентификация работают при ручном тестировании, но автоматический тест вместо возврата 200 (ОК) дает ответ 302 (Найдено). Это означает, что что-то не так с тем, как я пишу тест.

Я новичок в тестировании JUnit, я делаю это неправильно?

 @SpringBootTest
@AutoConfigureMockMvc
class PatientHealthApplicationTests {

    @Autowired
    private MockMvc mock;

    private String baseUrl = "https://localhost";


@Test
    void expect_doctorLogsInSuccessfully() throws Exception {
        mock.perform(post(baseUrl "/authenticateUser").param("username", "d1").param("password", "password").with(csrf())).andExpect(redirectedUrl("/")).andExpect(status().isOk());
    }
 

Комментарии:

1. Вы можете подумать MockMvcHtmlUnit , хотите ли вы протестировать сам процесс входа в систему.