执行任务后的Gradle Spock测试

问题描述 投票:1回答:2

嗨,我想为我的Gradle插件编写一个Spock测试,以测试从插件执行任务后是否正在生成报告,所以

   private ProjectInternal project
   ...
   public void 'check tasks'(){
        given:
            project.gradle.startParameter.taskNames = ["myTaskName"]
        project.gradle.buildListenerBroadcaster.projectsLoaded(project.gradle)

        when:
            project.plugins.apply(MYPlugin.class)
            project.?????
        then:
        ...

但是“ then:”部分必须检查文件的存在,但是必须执行此“ myTaskName”,如何使Ggradle执行我的任务?没有这样的方法afterExecution ??

plugins gradle spock
2个回答
2
投票
这种测试适用于测试插件,但不适用于测试任务。仅应用插件

configures个任务,而不<< execute >>个任务。为了执行任务,您必须从测试开始一个“真实的”构建。推荐的方法是通过Gradle工具API。


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.