Spring-mvc + MockMvc + junit结果是200,但应该是404



我使用的是spring-test框架版本3.2.1。RELEASE,特别是用于测试控制器的MockMvc对象。

然而,问题是,当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

控制器接受任何后缀为。html

的内容。

@RequestMapping (* . html)

所以,你的请求应该被发现

最新更新