SpringBootTest配置中忽略的Bean

时间:2017-04-13 05:49:12

标签: java spring-boot spring-bean spring-boot-test spring-boot-configuration

我有以下结构;

主要配置类;

label.backgroundColor = UIColor.black.withAlphaComponent(0.4)

两个独立的配置类;

@TestConfiguration
@Import({MainApplication.class, ConfigA.class, ConfigB.class})
public class MainTestConfiguration {
}

测试结果如下;

@TestConfiguration
public class ConfigA {
    @Bean
    public EtcDao etcDao() {
         // return custom etcDao
    }
}

@TestConfiguration
public class ConfigB {
    @Bean
    public SomeBean someBean() {
         // return custom someBean
    }
}

使用此结构,将忽略bean @RunWith(SpringRunner.class) @SpringBootTest(classes = MainTestConfiguration.class) public class MotherTest { @Test public void test() { // test } } EtcDao的测试定义,并使用这些bean的主要上下文定义(来自SomeBean)。但是,如果我在MainApplication.class @SpringBootTest中添加这些单独的配置,那么它可以正常运行。 @SpringBootTest(classes = {ConfigA.class, ConfigB.class})是否不允许初始化这些单独配置类中的bean?或者罪魁祸首是我将@Include与它们一起包含在内,但我需要其他配置,所以我必须以这种方式实现。

0 个答案:

没有答案
相关问题