0
나는 Jenkins 플러그인에 대한 몇 가지 Spock 테스트를 실시 중이고 빌드 변수가 유효한 변수 중 하나와 일치하는지 확인하고 싶습니다. MatrixProject에서 오는 것입니다.유효한 세트 인 해시를 테스트하려면 어떻게해야합니까?
어떻게할까요?
난이 있지만 그것은 조금 투박한 보이지만 이것이 내가
유용한 테스트를하고자하는 젠킨스 작업-DSL 매트릭스 작업 플러그인에 대한 스팍의 사양입니다gen_build.getRuns.every(){
it.getBuildVariables().equals([axis1: 'textz', axis2: 'text1']) ||
it.getBuildVariables().equals([axis1: 'textz', axis2: 'text2']) ||
it.getBuildVariables().equals([axis1: 'texty', axis2: 'text2'])
}
편집을 작동합니까
def 'CombinationFilter'() {
given:
def job = configure($/
job(type:MatrixJob){
name "generated"
axis{
text("axis1", ["textz", "texty"])
text("axis2", ["text1", "text2"])
}
steps{
shell('return 255')
}
combinationFilter("axis1=='textz' || axis2=='text2'")
sequential(false)
}
/$)
when:
def job_build = job.scheduleBuild2(0).get()
def gen = rule.getInstance().getItem("generated")
def gen_build = gen.scheduleBuild2(0).get()
def gen_runs = gen_build.getRuns()
then:
job_build.logFile.text.contains("SUCCESS")
gen_build.logFile.text.contains("FAILURE")
gen_runs.every(){it.logFile.text.contains("FAILURE")}
gen_runs.every(){it.getBuildVariables().equals([axis1: 'textz', axis2: 'text1']) || it.getBuildVariables().equals([axis1: 'textz', axis2: 'text2']) || it.getBuildVariables().equals([axis1: 'texty', axis2: 'text2'])}
gen_runs.size() == 3
}