0

SpringMVCを使用するアプリケーションの単体テストをいくつか書きたかったのです。Springホームページのマニュアルページを読みましたhttp://static.springsource.org/spring/docs/current/spring-framework-reference/html/testing.html。このSpringテストフレームワークは本当に役立つようです。

しかし、ここに質問があります:

@ContextConfiguration1.私がそれを正しく理解している場合、私が使用する必要があるようにテストに注釈のいずれかを使用するには@RunWith(SpringJUnit4ClassRunner.class)?しかし、2つのランナーを使用することは可能ですか(おそらくそうではありません)、私は通常のオブジェクトをモックするためにmockitoを使用しているので、Springランナーとmockitoを使用できるかどうか疑問に思いました。

2.を使用してxmlコンテキストファイルをロードすることについて質問があります@ContextConfiguration。.xmlファイルを持っていますがsrc/main/webapp/WEB-INF/spring、どうすればそれらをロードできますContextConfigurationか?私は試した

@ContextConfiguration(locations="/webapp/WEB-INF/spring/root-context.xml")
@ContextConfiguration(locations="webapp/WEB-INF/spring/root-context.xml")
@ContextConfiguration(locations="/WEB-INF/spring/root-context.xml")
@ContextConfiguration(locations="WEB-INF/spring/root-context.xml")
@ContextConfiguration(locations="/src/main/webapp/WEB-INF/spring/root-context.xml")
@ContextConfiguration(locations="src/main/webapp/WEB-INF/spring/root-context.xml")

しかし、私はいつも得ますclass path resource [some_path] cannot be opened because it does not exist。それでは、どのパスを使用すればよいのでしょうか。

編集:2番目の問題は、WEB-INFがクラスパスにないことでした。これが、spring-context.xmlの場所を教えてくれたトピックです。

4

1 に答える 1

5
  1. いいえ、2つにすることはできません@RunWith。代わりに、Mockitoが提供する他の方法を使用してMockスタンドインを作成する必要があります。

  2. 複数の場所を指定する方法は次のとおりです。

    @ContextConfiguration(locations={"first.xml", "second.xml"})
    
于 2012-08-20T19:20:44.563 に答える