java - 如何在Gradle插件中编写Test for SourceSets块

原文 标签 java gradle groovy gradle-plugin

最近,我正在一个使用许多gradle groovy插件的项目中工作,我引入了一个块,在sourceSets中添加了一些静态文件。现在如何编写对sourceSets块的测试?
我在sourceSets中添加的块是

 project.sourceSets {
            test {
                resources {
                    srcDir project.files("${project.projectDir}/some-folder")
                }
            }
        }

最佳答案

找到了一种编写测试此方案的方法,将您的资源放在
一些名为tempFile的文件夹是用于测试的资源。与测试相同: TestPluginSpec.groovy

 @Rule
    TemporaryFolder testProjectDir = new TemporaryFolder()
    File tempFile
    tempFile = testProjectDir.newFile('tempFile')
    buildFile = testProjectDir.newFile('build.gradle')

    buildFile << """
             plugins {
                id 'java'
               }
   """
def "should add test Resources into build/resources/test"(){
        when:
        def result = GradleRunner.create().withProjectDir(testProjectDir.root).withPluginClasspath().withArguments('processTestResources').withDebug(true).build()
        then:
        result.task(":processTestResources").outcome == TaskOutcome.SUCCESS
        and:
        Files.exists(Paths.get("${testProjectDir.root.path}/build/resources/test/tempFile"))
    }

关于java - 如何在Gradle插件中编写Test for SourceSets块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60965460/

相关文章:

java - 以数字开头的计算器

java - 无法解析org.apache.axiom.om.OMElement类型。从所需的.class文件间接引用它

gradle - Gradle,SonarQube插件和带有非法字符的项目名称

android-studio - 如何更改openIdea Gradle任务的默认IDE

database - 无法正确遍历groovy中的XML标签

maven - 在 Jenkins 声明性管道的不同阶段重用对象/属性

java - 为什么这个通用代码在 java 8 中编译?

java - 通过命令行运行代码时出错

java - 无法通过jar特定任务编写build.gradle

groovy - 在运行时获取 groovy 源文件的路径