2017-08-29 209 views
1

能詹金斯管道腳本中使用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安裝以及其他單元和功能測試場景。

回答

1

JenkinsPipelineUnit是你在找什麼。

該測試框架允許您通過提供流水線的模擬執行來編寫管道代碼的配置和條件邏輯的單元測試。您可以模擬內置的Jenkins命令,作業配置,查看整個執行的堆棧跟蹤,甚至可以跟蹤迴歸。

+0

這看起來不錯,但對於jenkins以外的測試,可以在不構建單元測試的情況下加載到groovy/groovysh中的獨立程序包將會很有幫助。 – David