我写了一个Gradle插件,添加了一个名为
generateTestDocs
的自定义任务,它依赖于任务groovydoc
,后者是由groovy
插件创建的。//MyPlugin.groovy
@Override
void apply(Project project) {
project.apply(plugin: 'groovy')
project.task(type: GenerateTestDocsTask, dependsOn: ':groovydoc', 'generateTestDocs')
}
project.tasks.groovydoc.doFirst {
println "I should see this message but I don't"
}
我正在尝试通过运行任务generateTestDocs
来测试这个插件。
@Test
void testRunGenerateTestDocs() {
Project project = ProjectBuilder.builder().build()
project.apply(plugin: 'my.gradle.plugin')
project.tasks.generateTestDocs.actions*.execute(project.tasks.generateTestDocs)
}
在我的测试的最后一行,我希望只需写 project.task.generateTestDocs.execute()
并运行该任务及其所有依赖项,但似乎并不起作用。编写gradle插件的文档仅显示类似于 assertTrue(project.tasks.hello instanceof GreetingTask)
的断言,这表明任务已添加到项目中,但没有说明如何运行该任务。