我正在尝试编写更多端到端的Spring测试,它将测试我的过滤器和与给定请求相关的控制器方法。我试过RequestMappingHandlerAdapter.handle()
,但这并没有调用过滤器。如果我有一个具有给定路径的MockHttpServletRequest
,我需要使用哪些类?我不想调用doFilter后跟句柄。相反,我希望调用最终调用这两种方法的代码。
编辑:需要在Spring 3.1中工作。
答案 0 :(得分:3)
使用MockMvcBuilders
设置MockMvc
时,您可以注册过滤器。
MockMvc mockMvc = MockMvcBuilders
.webAppContextSetup(webApplicationContext)
.addFilter(filter, urlPatterns);
javadoc有更多详情。这种注册过滤器的方法(mock-)等同于web.xml配置。例如
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>