使用GradleRunner测试自定义Gradle插件

时间:2018-10-11 18:51:08

标签: gradle-plugin

我正在努力开发(仅Java)gradle插件(https://github.com/jdeppe-pivotal/test-in-docker)。 gradle结构非常原始,我的插件代码在src/main/java中。

我正在尝试使用GradleRunner进行集成测试,并拥有一个测试build.gradle资源文件:

apply plugin: 'io.pivotal.test.docker-plugin'

task helloWorld {
    doLast {
        println "Hello World!"
    }
}

测试代码的相关位是:

BuildResult result = GradleRunner.create()
    .withProjectDir(testProjectDir.getRoot())
    .withArguments("helloWorld")
    .withPluginClasspath()
    .build();

assertThat(result.getOutput()).contains("Hello World!");
assertThat(result.task(":helloWorld").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);

但是,测试版本因以下原因而失败:

> Plugin with id 'io.pivotal.test.docker-plugin' not found.

我可以看到.withPluginClasspath()调用中的GradleRunner设置了(似乎是)正确的类路径。我在这里做什么错了?

更新:

更改测试资源build.gradle来引用插件,如下所示:

plugins {
    id 'io.pivotal.test.docker-plugin'
}

有效。

0 个答案:

没有答案