如何使用 Jenkins Pipeline 发布 NUnit 测试结果?

How can I publish NUnit test results using Jenkins Pipeline?

尝试使用漂亮的 Jenkins 管道时,我在查找如何发布 NUnit 测试结果时遇到了问题。

我可以通过在管道脚本中指定以下命令来运行测试:

stage 'Test'
    bat '"C:\Program Files (x86)\NUnit 2.6.4\bin\nunit-console-x86.exe" "ProjectName\bin\Release\UnitTests.net.dll"'

但是如何让Jenkins"publish"的测试结果并不明显。 Snippet Generator 只建议使用 junit,这似乎不起作用。

调查 Jenkins 的 NUnit 插件让我找到了 this issue,在那里我找到了解决方案:

step([$class: 'NUnitPublisher', testResultsPattern: 'TestResult.xml', debug: false, 
                 keepJUnitReports: true, skipJUnitArchiver:false, failIfNoResults: true])

将此添加到管道脚本对我有用!

然而,似乎以下方法也应该起作用(但目前显然不起作用):使用代码段生成器,select this:

step: General Build Step
Publish NUnit test result report

这会在管道脚本中生成以下内容:

step <object of type hudson.plugins.nunit.NUnitPublisher>

这失败了!

我使用了 nunit 插件版本 0.21,并且能够使用

发布结果
stage("PublishTestReport"){
     nunit testResultsPattern: 'TestResult.xml'
     }

(TestResult.xml 在上面的例子中位于 jenkins 工作区的根目录)