idea创建的spring4允许单元测试时报错

现象

idea创建的spring4允许单元测试时报错

java.lang.NoClassDefFoundError: javax/servlet/SessionCoo

servlet为2.5,Spring版本为4.1.1,tomcat 6

原因

Spring Reference中提到,虽然Spring4仍然支持2.5,但它的主要目标是Servlet3.0及以上版本。如果你用Spring MVC Test Framework进行测试,则必须添加
兼容Servlet3.0的jar包(即3.0以上的servlet的jar包),

解决方法

在pom.xml中添加依赖

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>test</scope>
</dependency>

限制scope为test即可。

附录

https://jira.spring.io/browse/SPR-11292