2

これにはいくつかの質問があることは知っています..しかし、それでも機能させることはできません。統合テストを作成しようとしている春のアプリケーションがあります。xml ファイル (アプリケーションに使用しているのとほぼ同じ xml ファイル) を使用して、アプリケーション コンテキストをセットアップしようとしています。出現した問題は以下のとおりです。

  1. 構成がロードされず、「expected single Bean but found 0」のようなエラーを受け取りました。

  2. 正しいパスを指定しましたが、クラスパスで見つからないリソースについて不平を言い始めました。test/resources フォルダー内にないファイルをコピーしました。

  3. 現在、次のエラーでアプリケーション コンテキストのロードに失敗しています: [javax.servlet.http.HttpServletRequest] の一致する Bean が依存関係に見つかりません。(私の構成ファイルには mvc:annotation-driven /> があります)

  4. 私はこの例に従いましたhttp://www.scarba05.co.uk/blog/2010/07/more-on-integration-testing-of-spring%E2%80%99s-mvc-annotation-mapppings-for-controllers /統合テストを作成します。それでも、handlerAdapter.handle(request, response, controller); を呼び出すと、コントローラーが HandlerAdapter のインスタンスではないため、ClassCastException を受け取ります。ここで見つかったものとほぼ同じエラーパスをたどりました: http://forum.springsource.org/showthread.php?131196-Spring-3-1-2-Controller-annotated-Controllers-JUnit-test-fail

はい、私はSpringが初めてですが、少なくとも検索してたくさん読んだことがあります。問題を解決できるように、良いチュートリアルまたはいくつかのサンプル プロジェクト (春のもの以外) を教えてください。

私の質問を読んでくれてありがとう!

4

1 に答える 1

3

私は、Spring アプリケーションのコンテキストをテスト用にオーバーライドする最良の方法と思われる方法について、ブログ記事を書きました。基本的に、メインのアプリケーション コンテキスト xml ファイルをテスト用にコピーするべきではありません。これは重複につながるためです。代わりに、必要な部分を上書きするだけです。

ただし、これにはコントローラーのテストは含まれません。それらについては、あなたが言及した投稿は現在、spring-mvc-test プロジェクトによって廃止されており、現在は spring 3.2.x に含まれています。

春のMVCテストフレームワークに関する読み物は次のとおりです。

于 2013-01-16T23:57:58.080 に答える