我发现很少有使用此功能的示例,并试图让它工作但无法:
package com.acme.service;
public class SampleServiceTest {
@Value("classpath:data.json")
private Resource jsonData;
@Test
public void testThis() {
String json = String.join("\n", Files.readLines(jsonData.getFile(), Charset.defaultCharset()));
}
}
我的文件结构(遵循Maven标准)如下:
data-microservice (top folder)
-src/test/java/com/acme/service/SampleServiceTest
-src/test/resources/data.json
我已经尝试了其中几种,但似乎无法发挥作用:
希望得到有关此方面的帮助,如果您还可以提供正确路径的背景信息(即为什么正确的路径有效)。
答案 0 :(得分:0)
找到它,我很傻并且在没有任何Spring上下文的情况下运行测试。这是在测试类中加入这些注释的问题:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public SampleServiceTest {
//body here
}
" classpath:data.json" 有效!
虽然如果有人能解释为什么类路径在没有指定目录(src / test / resources)的情况下工作,那真的会有所帮助。