如何在春季环境中注入模拟
我有一个测试,使用一些春季背景。在这些上下文中,声明了许多豆子。我希望测试使用上下文的bean的实际实现,除了其中一个,我想使用MOCK。
我试图使Test成为配置组件(带有@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定义Mocks,但为此,我需要为我希望这样做的每个测试提供一个额外的XML文件。我想避免这种复杂性。
有没有办法在上下文中注入一个bean(如模拟),而不是通过XML?
谢谢!