什么库包含基本的jenkins工作流groovy函数?

tquggr8v  于 2022-11-01  发布在  Jenkins
关注(0)|答案(2)|浏览(142)

我正在为我的Jenkins groovy脚本编写一个junit测试。我正在测试的Jenkins脚本包含一个如下所示的方法调用:

error "Foo"

当我尝试从我的IDE(Intellij IDEA)运行测试时,我收到如下错误:
无方法签名:static xxx.error()适用于以下参数类型:(组织.代码屋.groovy.运行时.GStringImpl)值[Foo]
所以我想,我需要在我的类路径中添加一些库,以使运行时知道这个error函数。

<dependency>
            <groupId>org.jenkins-ci.plugins.workflow</groupId>
            <artifactId>workflow-aggregator</artifactId>
            <version>2.5</version>
        </dependency>

但没有用。
因此,我很难找到包含这些基本Jenkins工作流函数的库,如下所述:https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps
有什么想法吗?

fnvucqvd

fnvucqvd1#

解决方案是使用Jenkins Pipeline Unit库,该库使所有这些函数/方法(如echoerror)都可用,并为管道上下文所知:

...
helper.registerAllowedMethod("echo", [String.class], null)
...

在这种情况下,每个测试都应该将我们要测试的代码段封装到一个小的jenkins脚本中,该脚本将由JenkinsPipelineUnit引擎执行。

mepcadol

mepcadol2#

源代码位于here,所以根据pom,我认为它位于下面的依赖项中。

<!-- https://mvnrepository.com/artifact/org.jenkins-ci.plugins.workflow/workflow-basic-steps -->
<dependency>
    <groupId>org.jenkins-ci.plugins.workflow</groupId>
    <artifactId>workflow-basic-steps</artifactId>
    <version>2.24</version>
    <scope>test</scope>
</dependency>

相关问题