我的Spring Boot 2测试文件夹中具有以下层次结构
test/
java/
package.name/
SpringBootTest.java
resources/
test.properties
SpringBootTest的代码类似
@RunWith (SpringRunner.class)
@TestPropertySource(locations = {"/resources/test.properties"})
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
properties = {"management.port=0"})
public class SwaggerExtractorTest { ... }
我还尝试将location = {“ test.properties”}与位于Java类本身以及其他路径旁边的文件一起使用,但这始终是错误 class路径资源[... ],因为它不存在而无法打开。
理想情况下,我喜欢为@TestPropertySource提供路径,我可以将该路径放置在测试代码层次结构的不同级别上,而无需进行更改,即相对于某些顶级级别。
设置此路径的正确方法是什么?
答案 0 :(得分:1)
假设您所指的test/resources
文件夹是Maven / Gradle版本使用的src/test/resources
文件夹...
@TestPropertySource("/test.properties")
和@TestPropertySource("classpath:test.properties")
是等效的,并且两者都可以在类路径的根目录中引用test.properties
文件。
答案 1 :(得分:0)