我正在我的项目上实现具有模块(或子项目)的测试框架并面临这个问题:从控制台测试一个模块时,加载了配置文件,但不是从 Eclipse 加载。
这是一个 scala 项目,用 sbt 构建,并且可以玩。
我在使用 scalaTest 和 specs2 时遇到了同样的问题,所以我认为它与测试框架无关。
从 Eclipse 进行测试时,我正在使用注释:@RunWith(classOf[JUnitRunner])
尝试加载两者时会发生此问题:
- 一个特定的conf文件:
ConfigFactory.load("local.conf")
- 默认的(application.conf):
ConfigFactory.load()
我能得到的最接近解决方案的是创建一个假文件并查看它的路径:
val file = new File(".")
println(file.getAbsolutePath())
在主项目的测试文件中:(在这种情况下它可以工作)
- 从控制台:D:\Workspace3\Explorer。
- 来自 Eclipse:D:\Workspace3\Explorer。
在模块 xxx 中:
- 从控制台:D:\Workspace3\Explorer。
- 来自 Eclipse:D:\Workspace3\Explorer\modules\xxx。
感谢您花时间阅读此描述,我希望我已经足够清楚了。
约汉