如何在Gradle插件中测试@Input最新检查?

如何在Gradle插件中测试@Input最新检查?,gradle,Gradle,我正在写我的第一个Gradle插件。它创建了一个具有多个@Input…-注释方法的任务。我想我已经正确地定义了它们,但是我不知道如何正确地测试这些声明。我需要能够编写一个集成测试(我不会称之为单元测试),它设置一个最小的环境,声明一组输入是“最新的”,假装运行一个构建,然后在“输入”空间中选择一个组件进行更改,然后验证任务是否认为需要再次运行。我不确定花时间“测试gradle”是否明智,因为我认为这正是您计划要做的。。(参考最新/更改的测试-这是gradle的核心功能)。。。好吧,这是我的信念,

我正在写我的第一个Gradle插件。它创建了一个具有多个@Input…-注释方法的任务。我想我已经正确地定义了它们,但是我不知道如何正确地测试这些声明。我需要能够编写一个集成测试(我不会称之为单元测试),它设置一个最小的环境,声明一组输入是“最新的”,假装运行一个构建,然后在“输入”空间中选择一个组件进行更改,然后验证任务是否认为需要再次运行。

我不确定花时间“测试gradle”是否明智,因为我认为这正是您计划要做的。。(参考最新/更改的测试-这是gradle的核心功能)。。。好吧,这是我的信念,请随意不同意。测试插件的功能是有意义的,但我会测试“无梯度”:将其分为不同的类并从那里开始测试。“最新”决策结果的处理肯定是梯度处理的核心。这些方法的逻辑并非如此。问问你自己:如果你写了一个带有@Input…-注释方法的复杂插件,并且由于其中一个方法(你的代码)中的一个错误,当任务的一个或多个输入发生变化时,任务不会运行,那么这是谁的错?是的,你是对的。我假设最新的支票完全“不在你的掌控之中”,但事实似乎并非如此。我的错误。。那么,我也很好奇接下来的反应。。