【发布时间】:2014-10-20 05:58:47
【问题描述】:
我遇到的问题是 IntelliJ 13.1.4 在运行单元测试时在我的模块的 src/test/resources 目录中找不到 ServiceLoader 文件。
在回答之前请注意,我已完成以下所有操作:
- 该模块是一个 Gradle 项目,如果我运行
gradle test,则单元测试运行良好。 - 我过去在 IntelliJ 中成功运行过这个单元测试,它找到了模块。 (也许是早期版本的 IntelliJ?)
- 我仔细检查了 IntelliJ 模块设置,
src/test/resources目录被标记为测试资源目录。 (见下面的截图。) - 我正在将单元测试类的类加载器的类路径转储到类中;它有
build/classes/test/和build/classes/java目录,但既没有build/resources/test/也没有build/resources/main/。 - 我点击了刷新所有 Gradle 项目的按钮。
关于还有什么可能导致 IntelliJ 在这里失败的任何想法?
我的模块配置的屏幕截图,显示了测试资源文件夹设置。
【问题讨论】:
-
编译器对话框中的资源模式可能是什么?
-
好主意!我刚刚检查过,我有
!?*.java;!?*.form;!?*.class;!?*.groovy;!?*.scala;!?*.flex;!?*.kt;!?*.clj。我尝试将我的文件名添加到其中,但没有任何区别;测试运行时打印的类路径仍然不包含src/test/resources/目录。 -
我在这里遇到了完全相同的问题... Intellij 13.1.4
-
加载资源的代码是什么?
-
@bacar:我自己不直接加载;它是由我使用的库 (junit-quickchek) 完成的。但我确实知道该库使用 Java 平台的
ServiceLoader类。
标签: java intellij-idea classpath