gpt4 book ai didi

groovy - 单元测试-以编程方式运行任务

转载 作者:行者123 更新时间:2023-12-03 04:45:00 25 4
gpt4 key购买 nike

我正在为gradle创建自定义任务。我不知道如何创建将使用自定义任务类的任务。可能吗?我想为将在jenkins上运行的功能测试创建此任务。

这是我的自定义任务:

package pl.gradle

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
class MyCustomTask extends DefaultTask {

public MyCustomTask() {
// do something
}

@TaskAction
def build() {
ant.echo(message: "only for tests")
}
}

这是我的测试课:
package pl.gradle

import static org.junit.Assert.*

import org.gradle.testfixtures.ProjectBuilder
import org.gradle.api.Project
import org.junit.Before;
import org.junit.Test

class MyCustomTaskTest {

private Project project;
def task

@Before
public void setUp() {
project = ProjectBuilder.builder().build()
task = project.task("build", type: MyCustomTask)
}

@Test
public void taskCreatedProperly() {
assertTrue(task instanceof MyCustomTask)
}

@Test
public void shouldRunTask() {
// task.execute() // how to run this task? I want to run build() method from MyCustomTask class which is @TaskAction
}
}

最佳答案

ProjectBuilder用于不执行任务的低级测试。它的优点是测试插件。另外,您将编写执行实际构建(以及任务)的更高级别的测试。您通常会使用Gradle工具API来启动这些构建。在完整的Gradle发行版中查看工具API示例。

关于groovy - 单元测试-以编程方式运行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16557786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com