Я использую версию весеннего теста 3.2.1.RELEASE и, в частности, объект MockMvc для тестирования моих контроллеров.Результат Spring-mvc + MockMvc + junit равен 200, но должен быть 404
Проблема в том, что когда объект MockMvc выполняет выполнение на несуществующей странице html, он возвращает статус 200, но мой браузер отображает статус 404 - это правильно, потому что страница не существует. Как я могу проверить статус 404? (Так как это состояние я ожидаю)
@Test
public void testInvalidUrl() throws Exception {
mockMvc.perform(get("/invalidJSPFileName.html"))
.andExpect(status().isNotFound())
.andExpect(forwardedUrl("/WEB-INF/jsp/invalidJSPFileName.jsp"));
}
Контролер теста:
@Controller
@RequestMapping("/")
public class IndexController {
@RequestMapping("*.html")
public void showIndex(){
}
}
Резольвер:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
Каталог:
WEB-INF
jsp
index.jsp