我正在努力开发(仅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'
}
有效。