我在Eclipse中运行了所有的junit测试。 其中一些具有硬编码的相对路径,例如应用程序的属性文件。 现在我将它们设置为我们的ant构建过程的一部分 不幸的是,ant构建具有不同的基本路径。这导致硬编码路径的测试失败。
我有什么选择让测试在两种环境中运行?
Eclipse使用root作为路径的基础。 Ant使用root / src / test作为基础。我通过更新硬编码路径并运行测试来验证这一点。
层次结构的布局
/root/
+ config/
+ app.properties
+ src/
+ java/
+production code/
+ test/
+ build.xml
+ junit tests/
答案 0 :(得分:0)
build.xml
移到根目录并更改其路径。我不确定你为什么要让ant build和eclipse使用不同的根。
答案 1 :(得分:0)
没有硬编码的完整路径。而是将路径配置为单独配置,或相对于您配置的几个根路径(我的首选项)。考虑使用依赖注入来配置单元测试代码以及要使用的路径。您的单元测试可以使用虚假路径,您的main
方法可以配置部署的代码以使用真实路径。