我编写了一个 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)
,例如显示任务已添加到项目中,但没有显示如何运行该任务。