【发布时间】:2023-03-31 14:47:01
【问题描述】:
下面是我的项目结构
SomeProject
-src/main/java
-src/main/resources
-src/test/java
-src/test/resources
application-test.yml
以下是我的属性文件的内容
application-test.yml
pre:
someUrl: http://someurl
下面是配置类的内容
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "pre")
public class SomeConfiguration {
private String someUrl;
public String getsomeUrl() {
return someUrl;
}
public void setsomeUrl(String someUrl) {
this.someUrl = someUrl;
}
}
下面是我的测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=SomeConfiguration.class)
@TestPropertySource(locations = {"classpath:application-test.yml"})
public class SomeServiceTest {
SomeObject someObject;
@Autowired
private SomeConfiguration someConfiguration;
@Test
public void somMethodTest() {
someObject = new SomeObject ();
someObject.setsomeUrl(someConfiguration.getsomeUrl());
}
}
问题是当我尝试在 someObject 中设置 someURL 时,我得到了 null。我在 stackoverflow 上看到了类似的问题并接受了答案,但我仍然得到空值。
【问题讨论】:
标签: java spring spring-boot junit