有没有办法获取 SpringBoot 应用程序中加载的属性文件列表?

coo*_*avi 7 java properties-file spring-boot wiremock spring-boot-2

当我尝试执行mvn clean install. 作为构建的一部分,我们编译多个组件,最后使用wiremock 执行功能测试。它应该从功能测试配置文件中选择特定配置,并且应该从 application.properties 文件中选择默认属性。但由于某种原因,相同的代码无法找到这些文件中提到的属性。所以,只是想知道是否可以以某种方式获取在wiremock 期间加载的属性文件列表?这将提供一些线索,说明为什么没有选择预期的属性文件?

所有属性文件都位于内部:

src/main/resources
Run Code Online (Sandbox Code Playgroud)

并且,从测试课开始。

@ContextConfiguration(classes = SampleFTConfiguration.class)
public class SampleControllerTest{
//test method
}

@ComponentScan("com.xxx.xxx.xxx.ft")
@PropertySource("classpath:application-test.properties")
public class  SampleFTConfiguration{


}
Run Code Online (Sandbox Code Playgroud)

注意:我不希望任何人解决这个问题,我只想知道,我们是否可以获得加载的属性文件的名称?

Mar*_*nik 1

好的,按照测试定义请确保:

  1. 您应该使用 spring runner 运行测试(如果您使用的是 JUnit5,则使用 spring 扩展)。所以你应该放置注释@RunWith(SpringRunner.class)(或@ExtendsWith(SpringExtension.class)对于junit 5)

  2. 您正在使用的属性源是application-test.properties. 您已经说过属性文件位于,src/main/resources但文件名可能暗示它应该驻留在src/test/resources