如何测试SpringBootApplication中定义的事件侦听器

时间:2017-09-21 13:08:15

标签: spring unit-testing spring-boot

尝试编写SpringBootApplication的测试:

@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
@TestPropertySource(locations="classpath:application-test.properties")
public class PropertiesConverterTest { ...

申请类:

@SpringBootApplication
@PropertySource("classpath:/application.properties")
public class Application {
    public static void main(String[] args) {
        SpringApplication application = new SpringApplication(Application.class);
        application.addListeners(new MyListener1());
        application.addListeners(new MyListener2());
        application.run();
    }
}

但似乎没有一个听众被启动。 应该如何测试这种类型的功能? 它有可能吗?

如果更具体,我想测试其中一个侦听器(ApplicationEnvironmentPreparedEvent侦听器)中实现的属性修改功能。 它确实有效,我只想写一个简单的测试。 我的想法是加载ApplicationContext并尝试使用@Value注释或environment.getProperty("my.property.name")

读取已修改的属性

0 个答案:

没有答案