Gradle插件测试方法
我正在编写一个gradle插件,它定义了一个Gradle插件测试方法,gradle,Gradle,我正在编写一个gradle插件,它定义了一个UpdateWhen闭包,以在满足某些条件时跳过任务。我很难想出如何围绕这个方法进行测试。目前看来: class MyCoolTask extends DefaultTask { MyCoolTask() { outputs.upToDateWhen { if (somecondition) return true else return false } } } 我的测
UpdateWhen
闭包,以在满足某些条件时跳过任务。我很难想出如何围绕这个方法进行测试。目前看来:
class MyCoolTask extends DefaultTask {
MyCoolTask() {
outputs.upToDateWhen {
if (somecondition)
return true
else
return false
}
}
}
我的测试如下所示:
class MyCoolTaskTest {
@Test
void testUpToDateCheck() {
project = ProjectBuilder.builder().build()
project.apply plugin: 'myCoolPlugin'
project.myCoolTask.execute()
// But then how do you do a subsequent run and ensure that the task did not execute?
project.myCoolTask.execute() // running this a second time does not work.
project.myCoolTask.outputs.upToDateWhen() // Throws a syntax error
}
}
任何可以提供的见解都将是伟大的!谢谢
ProjectBuilder
用于配置构建但不执行任何任务的低级测试。您可以将outputs.upToDateWhen{…}
的内容分解成一个方法/类并进行测试,和/或编写一个验收测试,使用Gradle工具API执行实际构建。ProjectBuilder
用于配置构建但不执行任何任务的低级测试。您可以将outputs.upToDateWhen{…}
的内容分解成一个方法/类并进行测试,和/或编写一个验收测试,使用Gradle工具API执行实际构建