【发布时间】:2015-07-27 02:51:04
【问题描述】:
我有一个带有属性“DBServer”的 Bean;它的默认值为“location1”;
在应用程序启动期间, 根据“DBServer”的值,实例化不同的类。
我有 200 个测试,这个默认设置很好。
但是,到目前为止,我想测试替代方案。
问题:
有没有办法在应用程序上下文启动之前从 junit 测试用例中重置默认值?
【问题讨论】:
-
您应该考虑使用 Spring Profiles。 docs.spring.io/spring-boot/docs/current/reference/html/…
-
这正是配置文件的用例
-
我尝试使用@profiles("useProfile1");
-
@Resource public AnnotationConfigApplicationContext m_annotationConfigApplicationContext; ..................... m_annotationConfigApplicationContext.getEnvironment().setActiveProfiles("useProfile1"); m_annotationConfigApplicationContext.getEnvironment().setActiveProfiles("useProfile1Supplementary"); m_annotationConfigApplicationContext.register(AppConfig.class); m_annotationConfigApplicationContext.refresh(); ((ConfigurableApplicationContext) m_annotationConfigApplicationContext).close();
-
但是......当我运行它............当我刷新时它会循环。
标签: java spring junit applicationcontext springjunit4classrunner