用Servlet2.5测试SpringFramework 4
我在使用Servlet2.5使SpringFramework4与现有项目协同工作时遇到问题。我的web项目实际上运行良好,但我的测试用例失败,这是由MockHttpServletRequest
引起的,它引发了以下异常:-
java.lang.NoClassDefFoundError: javax/servlet/AsyncContext
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
我尝试添加任何一个依赖项,但我会得到其他与Servlet 3.0相关的异常:-
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0.20090124</version>
<scope>test</scope>
</dependency>
基于Spring框架网站,据说它使用Servlet2.5。然而,Spring 4's ^{
如何解决此问题?谢谢
# 1 楼答案
将spring测试的依赖项限制为4之前的版本,如spring-test-3.2
我不知道Spring-4放弃了对Servlet-2.5的支持3.9 Testing Improvements说:
我不明白“与servlet-3兼容”意味着放弃servlet-2.5支持。如果是故意的,至少应该进入参考文件。所以它甚至可能值得提出一个关于它的bug(SPR-11292)
但是等等,还有3.4 Java EE 6 and 7:
所以我认为这符合文件中提到的条件
更新: Spring 4.0.1参考文档现在更清楚地介绍了模拟: