我正在使用junit 4.11和spring-test-4.1.5来编写集成测试用例。我正在使用@ContextConfiguration批注来加载配置。,
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes ={ApplicationConfig.class,SpringConfiguration.class }, initializers = {CustomProfileResolver.class, AppInitializer.class}, loader = SpringApplicationContextLoader.class)
如您所见,我正在使用两个配置类。
我面临的问题是我想在SpringConfiguration.class
之前加载ApplicationConfig.class
。我尝试撤销订单,但没有奏效。这里既没有指定@order。
那么如何订购这些配置类的加载,是否可能?
答案 0 :(得分:1)
@ContextConfiguration
及其支持类(例如MergedContextConfiguration
,AnnotationConfigContextLoader
,AbstractTestContextBootstrapper
等)旨在保留@Configuration
类的原始排序通过classes
的{{1}}属性声明。
因此,如果您可以可验证地证明逆转@ContextConfiguration
和SpringConfiguration
类的顺序不会导致首先处理ApplicationConfig
,那么您在Spring中发现了一个错误。
如果您发现了错误,请在JIRA中报告。
谢谢,
萨姆
答案 1 :(得分:1)
使用@ContextHierarchy
await