对于单元测试类中的 2 个测试,我需要一个报告文件。我尝试按如下方式加载它:
private File getTestFile() {
try {
return new File(URLDecoder.decode(ClassLoader.class.getResource("/reports/report.xlsx")
.getPath(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
当我第一次运行这些测试时,会发生以下情况:
- 第一次测试:类加载器找到资源并返回文件,测试通过。
- 第二个测试:类加载器没有找到资源并返回null,测试失败。
在此之后,两个测试都继续失败,直到我重建项目然后第一个测试通过,第二个测试再次失败。
report.xlsx 位于src/test/resources/reports/reports.xlsx
.
我做错了什么或解释了这种行为吗?