Spring 3.0 junit测试DispatcherServlet
-
27-10-2019 - |
题
我正在尝试用junit测试我的应用程序。
因此,我设置了以下类: 通用标签
}
问题是,看来我的调度程序servlet无法向我的任何控制器发送任何请求。
我认为配置中有一些东西-contextConfigurationLocation。 看起来他可以找到文件(否则它将引发异常),但不加载任何配置
记录器说:
org.springframework.web.servlet.PageNotFound-找不到具有URI [http:// localhost:8080 / myapp / abc]的HTTP请求的映射
但是我绝对不知道怎么了...
我将不胜感激!
预先感谢
解决方案
地雷工作正常,请尝试以下调整。
- 如果您使用的是Junit4,则无需扩展测试类,junit运行程序应该可以解决问题
-
通过类路径加载上下文配置,并确保可以从测试类路径访问该配置
@ContextConfiguration(locations= {“ classpath:applicationContext-test.xml”})
-
然后仅测试带注释的控制器。我是这样的: 通用标签
其他提示
我的问题有几个问题:
起初,不可能扩展AbstractJUnit4SpringContextTests并使用@RunWith(...),因为它是相同的。
第二,您不应该使用dispatcherServlert,而是使用Handler,方法是在application.xml中定义处理程序,并通过@Autowire私有Handler处理程序在测试用例中自动装配它。
然后一切正常!
不隶属于 StackOverflow