Avi*_*ger 5 .net nunit jenkins .net-core jenkins-pipeline
我正在尝试使用 jenkins-pipeline 发布测试结果,
使用这个管道脚本,我设法完成构建并生成“xml”输出:
node {
stage 'Checkout'
checkout scm
stage 'Build'
bat "\"C:/Program Files/dotnet/dotnet.exe\" restore \"${workspace}/MyProg.sln\""
bat "\"C:/Program Files/dotnet/dotnet.exe\" build \"${workspace}/MyProg.sln\""
stage 'UnitTests'
bat returnStatus: true, script: "\"C:/Program Files/dotnet/dotnet.exe\" test \"${workspace}/MyProg.sln\" --logger \"trx;LogFileName=unit_tests.xml\" --no-build"
nunit testResultsPattern: 'Tests\\*Test*\\TestResults\\unit_tests.xml'
}
Run Code Online (Sandbox Code Playgroud)
但在“UnitTest”阶段我收到此错误:
“发布 NUnit 测试结果报告无法读取 XSL XML 文件。请将此问题报告给插件作者”
当我使用“正常”步骤构建(没有管道框架)时,测试就会发布。使用:
附上 XML 之一:
node {
stage 'Checkout'
checkout scm
stage 'Build'
bat "\"C:/Program Files/dotnet/dotnet.exe\" restore \"${workspace}/MyProg.sln\""
bat "\"C:/Program Files/dotnet/dotnet.exe\" build \"${workspace}/MyProg.sln\""
stage 'UnitTests'
bat returnStatus: true, script: "\"C:/Program Files/dotnet/dotnet.exe\" test \"${workspace}/MyProg.sln\" --logger \"trx;LogFileName=unit_tests.xml\" --no-build"
nunit testResultsPattern: 'Tests\\*Test*\\TestResults\\unit_tests.xml'
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
还尝试过:
step([$class: 'NUnitPublisher', testResultsPattern: 'Tests\\FilesScannerTests\\TestResults\\unit_tests.xml', debug: false, keepJUnitReports: true, skipJUnitArchiver:false, failIfNoResults: true])
Run Code Online (Sandbox Code Playgroud)
但它也没有成功..
我设法使用“ MSTestPublisher ”类来做到这一点,
所以最终的管道是:
node {
stage 'Checkout'
checkout scm
stage 'Build'
bat "\"C:/Program Files/dotnet/dotnet.exe\" restore \"${workspace}/MyProg.sln\""
bat "\"C:/Program Files/dotnet/dotnet.exe\" build \"${workspace}/MyProg.sln\""
stage 'UnitTests'
bat returnStatus: true, script: "\"C:/Program Files/dotnet/dotnet.exe\" test \"${workspace}/MyProg.sln\" --logger \"trx;LogFileName=unit_tests.xml\" --no-build"
step([$class: 'MSTestPublisher', testResultsFile:"**/unit_tests.xml", failOnError: true, keepLongStdio: true])
}Run Code Online (Sandbox Code Playgroud)
我把自己制作的一些例子上传到了我的GitHub上,供大家使用和贡献,欢迎查看:
https://github.com/avrum/JenkinsFileFor.NETCore
这些 pipline jenkinsfile 会将此 pipline 模板添加到您的构建中:
| 归档时间: |
|
| 查看次数: |
7288 次 |
| 最近记录: |