测试中@Value不会被占位符替换

时间:2019-01-09 16:10:09

标签: spring maven spring-boot junit

我正在使用Spring Boot应用程序。我想进行一些单元测试,并在src / test / resources中使用属性文件。

带有@Value批注的属性不会由属性值填充。

我试图将<testResources>添加到pom中,但是它不起作用。 我试图在*的classpath关键字之后添加@PropertySource,但是它也不起作用。

@Configuration
@PropertySource("classpath:application-test.properties")
public class UnitTestConfiguration {

}

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {UnitTestConfiguration.class})
class AccountsControllerTest {

    @Value("${web-client-factory.valid-jwt}")
    public String validJwt; // null in debug
}

如果spring没有找到属性,但它什么也不做,并且我的属性是null,我期望一个例外。

1 个答案:

答案 0 :(得分:2)

尝试使用:@TestPropertySource(locations={"application-test.properties"})