java - IntelliJ 找不到类路径测试资源

标签 java intellij-idea classpath

我遇到了一个问题,即 IntelliJ 13.1.4 在运行单元测试时在 src/test/resources 目录中找不到 ServiceLoader 文件我的模块。

在回答之前请注意,我已完成以下所有操作:

  1. 该模块是一个 Gradle 项目,如果我运行 gradle test 单元测试运行良好。
  2. 我过去在 IntelliJ 中成功运行过这个单元测试,它找到了模块。 (也许是早期版本的 IntelliJ?)
  3. 我已经仔细检查了 IntelliJ 模块设置,并且 src/test/resources 目录被标记为测试资源目录。 (见下面的截图。)
  4. 我正在将单元测试类的类加载器的类路径转储到类中;它有 build/classes/test/build/classes/java 目录,但既没有 build/resources/test/ 也没有 构建/资源/main/.
  5. 我点击了刷新所有 Gradle 项目的按钮。

关于还有什么可能导致 IntelliJ 在这里失败的任何想法?


我的模块配置的屏幕截图,显示了测试资源文件夹设置。

My Test Resource Folders is correctly set.

最佳答案

我通过创建一个与 test 目录 (!) 平行的 test-resources 目录来使它工作得更好。

不过,仍然会出现间歇性问题。那时,可以打开 IntelliJ 项目设置并将测试资源定义为 source(Gradle 项目将保持不变)。

一定是 IntelliJ 错误,因为我在 Android Studio 中遇到过同样的事情。

编辑:

found a workaround问题。

在 Gradle 配置的末尾添加以下内容(并指定您的测试资源路径):

task copyTestResources(type: Copy) {
    from "${projectDir}/src/test/resources"
    into "${buildDir}/classes/test"
}
processTestResources.dependsOn copyTestResources

关于java - IntelliJ 找不到类路径测试资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513788/

相关文章:

java - GWT + IntelliJ Idea - 添加服务器端库

java - Ant-TestNG 类路径问题 : getResource can't find the file

java - 分布式缓存 jar 在类路径中,但得到ClassNotFoundException

java - jar 和“找不到类定义”错误

java - Java Map 的非支持键集

php - 在 PhpStorm 中调试项目

java - 使用 Android Google Map API(v2) 获取当前位置,但不幸的是应用程序已停止错误

Java:将图像添加到 JFrame 中的 JPanel

java - 如何从 LatLng ArrayList 导出 GPX 文件

java - 特定口味的变体如何发挥作用?