我有一些集成测试应该模拟出我系统中的许多 bean 之一。为此,我有一个@Configuration
看起来像这样的:
@Configuration
public class MockContext {
@Primary
@Bean
public RealBean realBean() {
return new MockBean();
}
}
我注意到如果RealBean
是一个没有 @Component
. 但如果RealBean
是a @Component
,我必须将此上下文方法更改为如下所示:
@Configuration
public class MockContext {
@Primary
@Bean
public RealBean getRealBean() {
return new MockBean();
}
}
谁能解释为什么我需要更改此方法名称以及在哪里可以找到所有这些规则?MockContext
解决这些“为什么我的工作不正常?”需要很长时间。问题。
FWIW,这是我在测试中使用此上下文的方式:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = {RealContext.class, MockContext.class})
@WebAppConfiguration
public abstract class AbstractIntegrationTest {
我的集成测试将扩展这个类。我正在使用 Spring Boot 1.2.4.RELEASE