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またはそのサブクラスで作業し、アノテーション内で必要なプロパティを提供することだけが可能であれば、それが最善のアプローチのようです)