2

groovysh可以在不使用 Jenkins UI 的情况下使用或groovy scriptname运行验证测试来测试 jenkins 管道脚本吗

例如对于一个简单的脚本

pipeline {
  stages {
    stage ('test') {
      steps {
        sh '''
        env
        '''
       }
    }
  }
}

运行这样的测试,取决于脚本的子集给出:

No signature of method: * is applicable for argument types

groovysh_evaluate.pipeline()

或用于舞台('test'){ sh ''' env ''' }

报告:

No signature of method: groovysh_evaluate.stages() 

或者干脆

   sh '''
   env
   '''

报告:

No signature of method: groovysh_evaluate.sh()

问题可能是需要哪些导入以及如何在 jenkins 安装之外安装它们?

为什么会有人想要这样做?

简化和缩短测试用例的迭代、库版本的验证,而无需修改 jenkins 安装以及其他单元和功能测试场景。

4

1 回答 1

1

JenkinsPipelineUnit是您正在寻找的。

该测试框架允许您通过提供管道的模拟执行来对管道代码的配置和条件逻辑编写单元测试。您可以模拟内置的 Jenkins 命令、作业配置、查看整个执行的堆栈跟踪,甚至跟踪回归。

于 2017-08-29T15:09:31.967 回答