IntelliJ找不到类路径测试资源

我遇到了一个问题,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在这里失败的想法?


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

    我的测试资源文件夹已正确设置。


    通过创建一个与test目录(!)平行的test test-resources目录,我设法让它更好地工作。

    尽管如此,仍然看到间歇性的问题。 那些时候,可以打开IntelliJ项目设置并将测试资源定义为源代码(Gradle项目将保持不变)。

    必须是IntelliJ错误,因为我在Android Studio中经历了同样的事情。

    编辑:

    我找到了解决该问题的方法。

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

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

    我遇到了IntelliJ 14的类似问题。尽管在我的资源文件夹中有必要的文件并确保该文件夹在模块设置中被指定为资源,但IntelliJ间歇性地无法将我的文件加载到类路径中。

    一种解决方法是在模块设置中添加所需的文件夹作为模块的依赖项。

    首先,点击“+”按钮添加一个新的依赖关系。

    然后,选择你想添加到类路径的文件夹。

    然后选择“类”选项。

    在这里输入图像描述

    一旦完成,重新构建你的模块一次,并希望这应该做的伎俩。

    理想情况下,这应该不是问题。 资源文件夹中的所有文件应直接放入类路径中。 但是,每个IDE都有它的怪癖。


    我遇到了同样的问题,Junit失败(FileNotFound),因为我的根项目文件夹中有空间。 例如:我的项目/ project1 / ....

  • 我从根文件夹中删除了空间,my_project / project1 / all测试正确传递。
  • 链接地址: http://www.djcxy.com/p/72785.html

    上一篇: IntelliJ can't find classpath test resource

    下一篇: Lombok annotations do not compile under Intellij idea