いくつかの Spring コンテキストを使用しているテストがあります。これらのコンテキストでは、多数の Bean が宣言されています。MOCK を使用したいコンテキストの Bean の実際の実装をテストで使用したいのですが、それらの 1 つを除きます。
Test a Configuration コンポーネント (@Configuration アノテーションを使用) を作成しようとしましたが、XML が @Bean アノテーションよりも優先されるように見えるため、次のように機能しません。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"context1.xml", "context2.xml", ...})
@Configuration
public class MyTest{
@Inject
private MyTargetBean target;
private AnotherBean myMock = mock(AnotherBean.class);
@Bean
public AnotherBean myMock() { return myMock; }
.....
モックを XML で定義できることはわかっていますが、そのためには、これを行うテストごとに追加の XML ファイルが必要になります。この複雑さは避けたい。
XML 以外のコンテキストで (モックのように) Bean を注入する方法はありますか?
ありがとうございました!