詹金斯管道常规测试

问题描述:

能詹金斯管道脚本中使用groovyshgroovy scriptname运行的验证测试进行测试,而无需使用詹金斯UI詹金斯管道常规测试

例如,对于一个简单的脚本

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

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

No signature of method: * is applicable for argument types

groovysh_evaluate.pipeline() 

或 阶段( '试验'){ SH '' ' ENV ''' }

报告:

No signature of method: groovysh_evaluate.stages() 

或简单地

sh ''' 
    env 
    ''' 

报告:

No signature of method: groovysh_evaluate.sh() 

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

为什么会有人想这样做?

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

JenkinsPipelineUnit是你在找什么。

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

+0

这看起来不错,但对于jenkins以外的测试,可以在不构建单元测试的情况下加载到groovy/groovysh中的独立程序包将会很有帮助。 – David