2011-09-14 2 views
2

Mavenを使用してSpring Webアプリケーションで単体テストを実行しようとしています。アプリはテストなしでインストールして正常に動作します。mavenを使用してテストを実行するとクラスパスの問題が表示される

私は確実な試験報告書にこのエラーが表示されます。

java.lang.NoClassDefFoundError: javax/servlet/ServletException 

テスト自体は次のようになります、

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations={"file:C:/myProjects/myWebapp/src/main/webapp/WEB-INF/applicationContext-test.xml"}) 
@Transactional 
public class MyTest { 
... 

以前私はこのerrorを受けていたが、私はセキュリティへの参照を削除テストアプリコンテキストからのパッケージそして、この最新のエラーを得ました。

どちらの問題も、クラスパスが正しく設定されていないために発生しますか?テスト時に依存関係が含まれていないようですか?どのように私はこれを変更することができますか、他に何が欠けていますか?

+2

ポッドを投稿できますか?サーブレット-apiが ''スコープのアーティファクトとして見つからないように思えます。 –

+0

import-packagesに誰かがjavax.servlet.ServletExceptionを含んでいると仮定しますか? – Tony

答えて

10

これを試してください。

サーブレットコンテナにはこれがありますが、いくつかのテストで必要となるものがあります。バージョンを調整する必要があるかもしれません。

範囲は重要です。あなたはあなたの戦争にこの瓶を束ねたくはありませんが、それをあなたのテストで利用できるようにしたいと思います。

+0

私はいつもサーブレットapisがテストスコープ – Kevin

+1

に含まれるのではなく、嘲笑されているのを見てきましたが、これを模擬できるようにするにはクラスパスにAPIが必要です。 –

関連する問題