Spring 3.0junitテストDispatcherServlet
-
27-10-2019 - |
質問
junitを使用してアプリケーションをテストしようとしています。
したがって、次のクラスを設定しました: ジェネラコディセタグプレ
}
問題は、ディスパッチャサーブレットがどのコントローラにもリクエストを送信できないように見えることです。
構成には何かがあると思います--contextConfigurationLocation。 彼はファイルを見つけることができるようですが(そうでない場合は例外がスローされます)、構成をロードしません
ロガーは言う:
org.springframework.web.servlet.PageNotFound-URI [http:// localhost:8080 / myapp / abc] を使用したHTTPリクエストのマッピングが見つかりません
しかし、何が悪いのかまったくわかりません...
助けていただければ幸いです!
よろしくお願いします
解決
鉱山は正常に機能しています。次の調整を試してください。
- Junit4を使用している場合、テストクラスを拡張する必要がない場合は、junitランナーがトリックを実行する必要があります
-
クラスパスを介してコンテキスト設定を読み込み、テストクラスパスからアクセスできることを確認します
@ContextConfiguration(locations= {"classpath:applicationContext-test.xml"})
-
次に、注釈付きコントローラーをテストします。私はこのようにします: ジェネラコディセタグプレ
他のヒント
私の質問にはいくつかの問題があります:
最初は、AbstractJUnit4SpringContextTestsを拡張して@RunWith(...)を使用することはできません。これは、同じだからです。
次に、dispatcherServlertを使用するのではなく、application.xmlでハンドラーを定義し、@ Autowireプライベートハンドラーハンドラーを介してテストケースで自動配線することでハンドラーを使用する必要があります...
そうすれば、すべてが正常に機能するはずです!