0

JUnit 用に 2 つのクラス A、B を作成しました。それぞれに、アプリケーション コンテキストをロードするための独自の ContextLoaders があります。これらの各クラスを個別に実行すると、JUnit テストは正常に実行されます。

しかし、これらのクラスの両方で Maven ビルドを実行するか、JUnit を実行すると、最初に実行されるクラスは A と呼ばれ、完全に正常に実行されますが、2 番目のクラスは例外をスローします (フィールドを自動配線できませんでした....期待されるものは何も見つかりませんでした... )。これが私がやろうとしていることです:-

//コンテキスト ローダーを持つクラスA A_ContextLoader

@runwith(springjunit4classrunner.class)
@ContextConfiguration(loader = A_ContextLoader.class)
public class A {
     @Test
     public void testMethod1() {
       ...
     }
}

//コンテキストローダーを使用したクラスB B_ContextLoader

@runwith(springjunit4classrunner.class)
@ContextConfiguration(loader = B_ContextLoader.class)
public class B {
     @Test
     public void testMethod2() {
        ...
     }
}

私が理解していることから、2番目のクラスの実行が開始されると、新しいコンテキストを初期化する代わりに既存のコンテキストが使用されます。私の場合、両方のコンテキスト ローダーを 1 つのクラスにまとめることはできません。

クラスAの実行の最後にアプリケーションコンテキストを「アンロード」できる方法はありますか? それとも私は何かを逃していますか?

4

1 に答える 1

2

@DirtiesContext最初の回避策として、精巣への追加を試みます。その後、この注釈付きの睾丸のコンテキストは、その後他のテストで使用されません。

于 2012-12-26T17:41:28.223 に答える