当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle/IntelliJ中添加测试资源根目录

汲雅珺
2023-03-14

使用IntelliJ 14和Gradle 2.2中的“idea”插件生成IntelliJ项目。我可以通过以下方式为集成测试添加新的测试源根目录:

idea {
    module {
        testSourceDirs += file('src/integrationTest/java')
    }
}

但是,我还没有找到一种方法来添加位于“src/集成测试/资源”的相应测试资源根。对此有什么想法吗?非常感谢。

-丹尼尔

共有2个答案

孙经艺
2023-03-14

刚刚尝试使用Cucumber插件。该插件正确标记了src/cucumber/javasrc/cucumber/groovy,但没有src/cucumber/Resources,因此IntelliJcucumber支持变得混乱。使用上述建议玩了一下,现在正在工作:

idea {
    // Workaround to make sure the cucumber resources folder is
    // marked as "Test Resource Root" in IntelliJ. Otherwise the
    // IntelliJ cucumber integration gets confused wrt looking
    // up step definitions, highlighting, etc.
    module {
        testSourceDirs += file('src/cucumber/resources')
    }
    module.iml.withXml {
        def node = it.asNode()
        def content = node.component.find { it.'@name' == 'NewModuleRootManager' }.content[0]

        def cucumberSources = content.sourceFolder.findAll { it.@url?.contains('/src/cucumber/resources') }
        cucumberSources.each {
            it.@type = 'java-test-resource'
        }
    }
}
琴镜
2023-03-14

这应该工作:)

idea { 
    module.iml.withXml {
        def node = it.asNode()
        def content = node.component.find { it.'@name' == 'NewModuleRootManager' }.content[0]
        content.sourceFolder.each { sourceFolder ->
            if(sourceFolder.@url?.endsWith('/resources')) {
                sourceFolder.attributes().with {
                    boolean isTestSource = (remove('isTestSource') == 'true')
                    put('type', isTestSource ? 'java-test-resource' : 'java-resource')
                }
            }
        }
    }
}
 类似资料:
  • 我正在IntelliJ中使用Gradle项目结构和JavaFx Gradle插件构建一个JavaFx项目: Gradle JavaFx插件 我想知道如何在类路径中包含资源文件。具体来说,我目前正在尝试定义一个log4j2配置JSON文件,log4j2将在运行时加载该文件。我当前在运行应用程序时收到以下消息: 错误状态记录器未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。 我现在有l

  • 我正在使用IntelliJ IDEA14,我想在src之外向JAR文件添加文件。这是我目前的项目结构。 我想将layout.txt和saveddata.txt添加到JAR文件可执行文件中。我在网上搜索了一段时间也找不到解决方法 以防你需要看我的代码。这就是我读取文件的方式 这是我的项目结构

  • 我试着用kotlin DSL测试5级。 生成的是: 然后我生成了一个kotlin app,测试如下: 然后我将前面生成的lib添加到文件夹: 更新 根据收到的意见,我做了以下工作: > 将库文件移动到文件夹: 将以下代码添加到: 而不是: 但仍然得到相同的错误:(

  • 我错过了什么? 编辑: 看来Gradle也不接我的测试。当我转到时,它指示0 test。 在IntelliJ中,我打开Gradle窗口,点击“刷新所有Gradle项目”按钮,刷新库。 然后在我的测试类中,我在类声明的顶部添加了。 当我执行时,结果可以在下面找到:

  • 问题内容: 我是使用v13的Intellij新手。 我有一个简单的java项目(默认)结构,如下所示: 现在,我想编写一个简单的测试,并将该代码放在/ src / test / java目录中。因此,我决定更改项目格式,使其看起来像: 创建该结构后,我显然想将src中的当前类移至main / java / com …结构。 我已经阅读了所有有关内容根源和项目结构的内容。该信息甚至指出:“可以将内容

  • 我想有一个地方来存储我的图像文件,以便在我的Java项目中使用(一个非常简单的类,它只是将图像加载到面板上)。我找遍了所有的地方,都找不到如何做到这一点。我该怎么做? 我已经尝试向项目添加一个新文件夹,向项目添加一个新类文件夹,向项目添加一个新源文件夹。无论我做什么,我总是得到一个。文件夹总是说它们在构建路径上,所以我不确定该怎么做。 编辑:对我起作用的东西是将文件夹添加为类文件夹,然后将其删除,