【发布时间】:2009-11-25 03:30:51
【问题描述】:
我有一组依赖于 test.properties 文件的单元测试用例。当我使用 Maven('mvn test')在 Mac OSX 或 Linux 下运行测试时,它们运行良好。但是在 Windows 7 下运行时,他们找不到该文件,除非我将其直接复制到类文件夹中。返回属性的代码有以下两种方法:
private void loadProperties() {
try {
properties.load(HibernateTestCase.class.getResourceAsStream(getPropertiesFilePath()));
} catch (Exception ioExc) {
ioExc.printStackTrace();
}
}
private String getPropertiesFilePath() {
return File.separator + "test.properties";
}
这里真正的交易是什么?是不是文件路径在某处设置错误?提前致谢!
【问题讨论】:
-
该文件在 Mac 和 Linux 下工作时位于何处?不同环境中的类路径是什么。代码中的假设是该文件位于与 HibernateTestCase.class 相同的 jar 或 dir 的根目录中。此外,不要费心使用 File.separator,因为所有 Java 平台都会接受“/”来解决资源解析(和其他事情)。事实上,如果这对她造成了问题,我也不会感到惊讶,尽管我对此表示怀疑。
标签: java windows unit-testing macos properties