@TestPropertySource不适用于春季1.2.6中使用NotsellIngConfigContextLoader的JUnit测试
2022-09-01 05:59:53
似乎我在Spring 4.1.17中用Spring Boot 1.2.6.RELEASE所做的任何事情都不起作用。我只想访问应用程序属性,并在必要时使用测试覆盖它们(无需使用hack手动注入属性源)
这不起作用..
@TestPropertySource(properties = {"elastic.index=test_index"})
这也不是.
@TestPropertySource(locations = "/classpath:document.properties")
也不是这个..
@PropertySource("classpath:/document.properties")
完整的测试用例..
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
@TestPropertySource(properties = {"elastic.index=test_index"})
public class PropertyTests {
@Value("${elastic.index}")
String index;
@Configuration
@TestPropertySource(properties = {"elastic.index=test_index"})
static class ContextConfiguration {
}
@Test
public void wtf() {
assertEquals("test_index", index);
}
}
导致
org.junit.ComparisonFailure:
Expected :test_index
Actual :${elastic.index}
似乎3.x和4.x之间有很多相互矛盾的信息,我找不到任何可以肯定的东西。
任何见解将不胜感激。干杯!