Spring Framework 4へのバージョンアップではまった。。。。
Spring3.2から4へのバージョンアップでハマってしまった。。。。。 同じようにハマる人がいそうなので、メモメモ。
ハマった箇所は、SpringMVCのテストコード。
テストを実施すると、コントローラ層のテストが全部REDになってしまった。 エラー内容は以下。
java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig
うーん。。。。。。このエラーは致命的だな。と思いつつ、 とりあえず、Springの公式マニュアルを確認。
すると、こんな記載があった。
Deployment to Servlet 2.5 servers remains an option, but Spring Framework 4.0 is now focused primarily on Servlet 3.0+ environments. If you are using the Spring MVC Test Framework you will need to ensure that a Servlet 3.0 compatible JAR is in your test classpath.
※詳細はこちら
内容からすると、テストコードはServlet3.0が必要になったよ。ということでした。
なので、以下2行を追加してあげたら、テストがオールGREENになった。
※以下はgradleの書き方なので、各ビルドツールに合わせて、変更してください。
testCompile "javax.servlet:servlet-api:3.0-alpha-1" testCompile "org.apache.geronimo.specs:geronimo-servlet_3.0_spec:1.0"
ということで、以上。