我遇到一个问题,IntelliJ 13.1.4 在运行单元测试时找不到ServiceLoader
文件在src/test/resources
我的模块的目录。
在回答之前请注意我已完成以下所有操作:
- 该模块是一个 Gradle 项目,如果我运行
gradle test
单元测试运行良好。
- 我过去曾在 IntelliJ 中成功运行过这个单元测试,并且它找到了该模块。 (也许是 IntelliJ 的早期版本?)
- 我仔细检查了 IntelliJ 模块设置和
src/test/resources
目录被标记为测试资源目录。 (参见下面的屏幕截图。)
- 我正在将单元测试类的类加载器的类路径转储到类中;它有
build/classes/test/
and build/classes/java
目录,但两者都没有build/resources/test/
nor build/resources/main/
.
- 我已单击按钮刷新所有 Gradle 项目。
关于还有什么可能导致 IntelliJ 在这里失败的任何想法吗?
我的模块配置的屏幕截图,显示了测试资源文件夹设置。
我设法通过创建一个让它更好地工作test-resources
与目录平行test
目录 (!)。
不过,仍然会遇到间歇性的问题。那时,可以打开 IntelliJ 项目设置并将测试资源定义为source相反(Gradle 项目将保持不变)。
一定是 IntelliJ 的 bug,因为我在 Android Studio 中也经历过同样的事情。
EDIT:
I 找到了解决方法 https://code.google.com/p/android/issues/detail?id=64887#c13到这个问题。
在 Gradle 配置末尾添加以下内容(并指定您的测试资源路径):
task copyTestResources(type: Copy) {
from "${projectDir}/src/test/resources"
into "${buildDir}/classes/test"
}
processTestResources.dependsOn copyTestResources
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)