Jenkins Job DSL插件是一种在 repo 中存储 CI 配置并在分支之间改变它的非常好的方法。
问题是 - 是否有一种自然或接近自然的方式来运行 MSTest 测试、解析结果并显示它们。
现在我做了一个 powershell 调用,但它只给了我日志,而不是 UI 集成。
def testSomeProjectJob = job(testSomeProjectJobName) {
steps {
powerShell("& ${vstest} '${root}/SomeProject/SomeProject.Tests/bin/Debug/SomeProject.Tests.dll' ")
}
}
可能有发布者或模板技巧,或者为此编写 JOB DSL 插件的一些技巧
UPD:MSTest 和 VSTest 的最终脚本模板,使用@daspilker answer、jenkins xUnit Plugin和archiveXUnit
job('RunTests') {
steps {
// VSTEST
powerShell("& ${vstest} 'path/to/Tests.dll' /logger:trx ")
// Or MSBUILD
powerShell("& ${msbuild} /testcontainer:'path/to/Tests.dll' ")
}
publishers {
archiveXUnit {
msTest {
pattern('**/*.trx')
// deleteOutputFiles()
}
}
}
}