【发布时间】:2016-05-13 12:47:44
【问题描述】:
我在 Spring Boot 测试用例中遇到了一个奇怪的问题。我已经尝试了所有我能找到但没有运气的东西。谁能帮帮我。
当我运行 spring boot 应用程序时,一切正常。但测试用例不加载 partnerConfig 属性(它加载其他属性但不加载 partnerConfig)。 如果您有任何提示,请联系我。
Yaml 文件
config:
MH:
partner.id: "441"
tiny.url.domain: "http://mh.local.upgrd.co/"
EY:
partner.id: "11"
tiny.url.domain: "http://ey.local.upgrd.co/"
@Component
@EnableConfigurationProperties
@ConfigurationProperties()
public class PartnerConfig {
private Map<String, Map<String, String>> config = new HashMap<>();
}
@EnableAutoConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = {MainMethodRunner.class})
public class PartnerConfigTestIT {
@Autowired
PartnerConfig partnerConfig;
@Test
public void should_get_carrierCode_from_partnerId() {
//partnerConfig.config is not available in tests
}
}
当我运行 spring boot 应用程序时,一切正常。但测试用例不加载 partnerConfig 属性(它加载其他属性但不加载 partnerConfig)。 如果您有任何提示,请联系我。
【问题讨论】:
-
MainMethodRunner长什么样子? -
@SpringBootApplication public class MainMethodRunner { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(MainMethodRunner.class, args); }}
标签: spring properties spring-boot load