FailingHttpStatusCode при попытке получить URL с HTML-модулем и Spring MVC Test

Я пытаюсь реализовать сквозные тесты с HTML-модулем и Spring MVC Test 5. Когда я запрашиваю целевую страницу, я получаю исключение 404. Я не понимаю, почему я не могу получить свою страницу, потому что, когда я изменяю URL, модуль HTML отправляет мне сообщение об ошибке, потому что он не может найти мой файл CSS.

С кодом ниже, когда я копирую / вставляю сгенерированный URL в моем браузере, я получаю страницу

Спасибо всем, кто может мне помочь.

Мой абстрактный класс для этого вида теста

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import org.springframework.context.MessageSource;

public abstract class TestEndToEnd {

    protected final String serverUrl = "http://localhost/";
    protected final String projectName = "games-explorer";
    protected final List<Locale> supportedLocales;
    protected final MessageSource messageSource;

    public TestEndToEnd(MessageSource messageSource) {
        supportedLocales = new ArrayList<>();
        supportedLocales.add(Locale.FRENCH);
        supportedLocales.add(Locale.ENGLISH);

        this.messageSource = messageSource;
    }
}

Класс с тестом

import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
import com.lacunasaurus.core.configuration.CoreWebConfig;
import java.util.Locale;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.htmlunit.MockMvcWebClientBuilder;
import org.springframework.web.context.WebApplicationContext;

@ExtendWith(SpringExtension.class)
@WebAppConfiguration()
@ContextConfiguration(classes = {CoreWebConfig.class})
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class TestSignInEndToEnd extends TestEndToEnd {

    @Autowired
    private WebApplicationContext webApplicationContext;
    private WebClient webClient;

    @Autowired
    public TestSignInEndToEnd(MessageSource messageSource) {
        super(messageSource);
    }

    @BeforeAll
    public void init() {
        this.webClient = MockMvcWebClientBuilder.webAppContextSetup(webApplicationContext).build();
    }

    @Test
    @DisplayName("It should display the sign-in page in the right locale")
    public void shouldDisplayTheSignInPageWithRequiredFieldsInEachSupportedLocale() throws Exception {
        for (Locale locale : supportedLocales) {
            String url = messageSource.getMessage("core.website.signin.link.href", null, locale);

            HtmlPage createSignInPage = webClient.getPage(this.serverUrl + this.projectName + url);
            HtmlTextInput summaryInput = createSignInPage.getHtmlElementById("emailSignInForm");

            Assertions.assertNotNull(createSignInPage);
            Assertions.assertNotNull(summaryInput);
        }
    } 
}

И трассировка стека

shouldDisplayTheSignInPageWithRequiredFieldsInEachSupportedLocale  Time elapsed: 0.198 sec  <<< ERROR!
com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 404 Not Found for http://localhost/games-explorer/connexion
    at com.lacunasaurus.core.test.web.e2e.TestSignInEndToEnd.shouldDisplayTheSignInPageWithRequiredFieldsInEachSupportedLocale(TestSignInEndToEnd.java:48)


Results :

Tests in error: 
  TestSignInEndToEnd.shouldDisplayTheSignInPageWithRequiredFieldsInEachSupportedLocale:48 » FailingHttpStatusCode

0 ответов

Другие вопросы по тегам