SpringBootTest属性占位符未解析

时间:2019-04-22 16:27:50

标签: java spring spring-boot junit properties-file

我有一个属性文件,其中的两个值定义如下:

company.service.host=https://myserver.mycompany.com/services
company.services.clients=${company.service.host}/clients

在Spring Boot应用程序中使用时,在名为ClientServiceUriBuilder的类中使用属​​性替换时,可以按预期工作。但是,当我设置这样的测试类时(为简洁起见,省略了导入):

@RunWith(SpringRunner.class)
@SpringBootTest(classes = ClientServiceUriBuilder.class)
@PropertySource("classpath:application.properties")
public class TestTest {

  @Autowired()
  ClientServiceUriBuilder uut;

  @Test()
  public void shouldGetClientUrl() {
    String url = uut.getClientGetUrl(12345);
    System.out.println(url);
  }
}

结果网址应为:

https://myserver.mycompany.com/services/clients/12345

但是我得到的是:

${service.host}/clients/12345

占位符在第一个“。”之前的部分。被剥离,并返回其余未解决的占位符。

我是在做错什么,还是Spring Boot测试套件中的错误?

0 个答案:

没有答案