Groovy “如何运行测试”;“运行任务”;单元测试

Groovy “如何运行测试”;“运行任务”;单元测试,groovy,gradle,Groovy,Gradle,例如,以下是gradle文档: class GreetingTaskTest { @Test public void canAddTaskToProject() { Project project = ProjectBuilder.builder().build() def task = project.task('greeting', type: GreetingTask) assertTrue(task instanceof G

例如,以下是gradle文档:

class GreetingTaskTest {
    @Test
    public void canAddTaskToProject() {
        Project project = ProjectBuilder.builder().build()
        def task = project.task('greeting', type: GreetingTask)
        assertTrue(task instanceof GreetingTask)
    }
}
我希望考试能跟上

class GreetingTaskTest {
    @Test
    public void canAddTaskToProject() {
        Project project = ProjectBuilder.builder().build()
        def task = project.task('greeting', type: GreetingTask) {
            methInGreetingTask()
        }
        task.run()
    }
}

我的问题是:如何做到这一点?

您正在寻找
execute
方法,该方法在
AbstractTask
-gradle内部定义。参见。

gradle任务的问题是,执行的是他们的操作。您可以通过任务的
.actions
获取这些操作,然后使用
.execute(task)
执行每个操作


通过gradle 6.4/groovy 2.5.10测试

@zhadoxietu它能回答你的问题吗?我的答案能解决问题吗?这能回答你的问题吗?正是我想要的,谢谢
project.tasks.getByName("myTask").with { Task task ->
    assertEquals task.group, 'My Group'

    task.actions.each { Action action ->
        action.execute task
    }
}