0

Bean の複数のモック実装があり、その Bean は beanA として参照されます。モックの参照名は、beanAMock1、beanAMock2... beanAMockN とします。

コンテキスト ファイルでは、コンテキスト プレースホルダー beanAImplementation に従って beanA 参照にエイリアスを設定しています。

<alias name="${beanAImplementation}" alias="beanA"/>

また、このようなモック実装を持つ他の Bean (beanB、beanC...) もあります。そして、beanA、beanB... 実装の特定のセットを利用する多数のテスト スイートがあります。

すべての Bean には、コンテキストから含まれるプロパティ ファイルで指定された切り替えプレースホルダーのデフォルト値があります。

テスト スイートごとに Bean の実装の一部を変更する方法を探しています。

私はこれを行う3つの方法を知っています:

1) 個別のプロパティ ファイルから必要なプロパティをロードする各テスト スイートに追加のコンテキスト ファイルを作成します。この方法では、テスト スイート (コンテキスト、プロパティ) ごとに 2 つの追加ファイルを作成する必要があります。

2) エイリアス定義を使用して各テスト スイートのプロファイルを作成します。私が理解しているように、これには各プロファイル内の各 Bean にエイリアスを提供する必要がありますが、Bean 実装のデフォルトのセットがあります。

3) テスト スイート内にコンテキストを手動で作成し、必要なプロパティをオーバーライドします。これにより、テスト スイート内に多くのコードを記述する必要があります。

他の方法はありますか?(#3のようかもしれませんが、SpringJUnit4ClassRunnerまたはそのサブクラスで作業し、アノテーション内で必要なプロパティを提供することだけが可能であれば、それが最善のアプローチのようです)

4

1 に答える 1