在扩展Spring Twitter Social时,我使用 application-test.properties ,我无法让@Value将属性自动装入某些字段。
问题详情
@Value("${spring.social.twitter.hosts.ads-api}")
private String baseUrlApiAds;
@Value("${spring.social.twitter.hosts.standard-api}")
private String baseUrlApiStandard;
src / test / resources中的application-test.properties :
# spring-social-twitter
spring.social.twitter.hosts.standard-api : https://api.twitter.com/1.1/
spring.social.twitter.hosts.ads-api : https://ads-api-sandbox.twitter.com/0/
然而,在我的spring-social-twitter扩展(我提到的Spring Social Twitter中)中,值永远不会受到约束。
我也尝试将参数输入 application.properties ,也没有运气......
这是我的集成测试声明的顶部:
@RunWith(SpringJUnit4ClassRunner.class)
@WebIntegrationTest("server.port:9003")
@SpringApplicationConfiguration(classes = { Application.class, IntegrationConfig.class })
@ActiveProfiles(IntegrationConfig.PROFILE_TEST)
public abstract class IntegrationTest {
}
有人可以帮我一把吗?
答案 0 :(得分:1)
以上集成测试,请你试试这个注释:
@PropertySource(value = "classpath:application-test.properties")
确保文件存在于类路径中,并且具有@Value注释的类由spring初始化。
答案 1 :(得分:1)
使用@Value
注释的类似乎没有被春天初始化。如果spring初始化类,它应该使用@Value
注释来获取值。