У меня есть базовое приложение SpringMVC, которое работает (и отображается) нормально.
Теперь я хотел настроить свои UnitTests с помощью MockMvc для выполнения запросов на получение и прочее.
Но если я запускаю тест, возникает AssertionError «Ожидается состояние: <200>, но было: <404>», и моя консоль выдает предупреждение «Не найдено сопоставление для HTTP-запроса с URI [/] в DispatcherServlet с именем« ».
У меня такое ощущение, что мой MockMvc не может связаться с моим DispatcherServlet, так как мне определить это соединение?
Вот мой короткий тестовый класс:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration
public class HomeControllerTest {
private MockMvc mvc;
@Autowired
private WebApplicationContext wac;
@Before
public void setup() throws ServletException {
mvc = MockMvcBuilders.webAppContextSetup(wac).build();
}
@Test
public void testLandingPagePath() throws Exception {
mvc.perform(get("/")).andExpect(status().isOk());
}
}
Так что я ожидал, что MockMvc получит местоположение моего DispatcherServlet по умолчанию. Но на самом деле это не вызывает это для картирования.
У меня есть файлы "web.xml" и "dispatcher-servlet.xml", расположенные в папке "WEB-INF", и дополнительная конфигурация не определена.
Мне показалось, что проблема основана на структуре моего проекта, но это базовое затмение "Динамическое веб-приложение", тесты расположены в "src / test / java", параллельно "src / main / java" .
Я ценю любую помощь, так как последние 2 часа я трачу на чтение решений, но не нахожу хитрости.