1
我使用spring-test framework版本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