在 Jenkins 管道中使用 Xunit 插件显示 MSTest .trx 文件
MSTest .trx file display using Xunit Plugin and Jenkins Piepline
我正在尝试使用 Xunit 插件和 Jenkins 管道显示 MStest、Nunit3、Nunit2 结果,但没有成功。
我找不到 Xunit 插件的正确文档及其所有必需的参数。
我得到了以下链接,但它们没有太大帮助
https://www.cloudbees.com/blog/xunit-and-pipeline
https://wiki.jenkins.io/display/JENKINS/xUnit+Plugin
有谁知道如何使用 Xunit 插件在 jenkins 管道中显示 mstest、nunit3 和 nunit2 结果?
以下是我用于 MStest 报告解析并出错的代码。
我对 Jenkins 中的管道还很陌生,非常感谢任何帮助/指点!提前致谢!!
以下是我的流水线代码
pipeline {
agent any
stages {
stage('Copy Test Reports') {
agent {
node {
label 'test'
customWorkspace "C:\jenkins\workspace\tests"
}
}
steps {
echo 'Hello world!'
bat '''copy \\Precheck.xml .
copy \\*.trx .'''
}
post {
always {
xunit (
thresholds: [$class: 'FailedThreshold', unstableThreshold: '1'],
tools: [$class: 'MSTest', pattern: '*.trx']
)
}
}
}
}
}
Error:
Missing required parameter: "thresholdMode" @ line 19, column 21.
xunit (
^
WorkflowScript: 19: Missing required parameter: "testTimeMargin" @ line 19, column 21.
xunit (
^
我 运行 遇到了同样的问题,尽管有 GoogleTest 报告。
将缺少的参数添加到您的 xunit() 调用中应该可以解决问题:
xunit (
testTimeMargin: '3000',
thresholdMode: 1,
thresholds: [$class: 'FailedThreshold', unstableThreshold: '1'],
tools: [$class: 'MSTest', pattern: '*.trx']
)
“3000”和“1”是 xunit 插件内部设置的默认值。
我不得不对插件进行一些不同的处理,所以我发布了我的解决方案以防它有帮助 -
xunit(
[MSTest(deleteOutputFiles: true,
failIfNotNew: true,
pattern: '*.trx',
skipNoTestFiles: false,
stopProcessingIfError: true)
])
请注意,这需要您的 trx 文件位于工作区的根目录中。如果不是,您需要将它们复制到那里。
有理由使用 xunit
-plugin 吗?我按如下方式使用 mstest-plugin,这似乎工作正常
mstest testResultsFile:"**/*.trx", keepLongStdio: true
我正在尝试使用 Xunit 插件和 Jenkins 管道显示 MStest、Nunit3、Nunit2 结果,但没有成功。 我找不到 Xunit 插件的正确文档及其所有必需的参数。
我得到了以下链接,但它们没有太大帮助 https://www.cloudbees.com/blog/xunit-and-pipeline https://wiki.jenkins.io/display/JENKINS/xUnit+Plugin
有谁知道如何使用 Xunit 插件在 jenkins 管道中显示 mstest、nunit3 和 nunit2 结果?
以下是我用于 MStest 报告解析并出错的代码。 我对 Jenkins 中的管道还很陌生,非常感谢任何帮助/指点!提前致谢!!
以下是我的流水线代码
pipeline {
agent any
stages {
stage('Copy Test Reports') {
agent {
node {
label 'test'
customWorkspace "C:\jenkins\workspace\tests"
}
}
steps {
echo 'Hello world!'
bat '''copy \\Precheck.xml .
copy \\*.trx .'''
}
post {
always {
xunit (
thresholds: [$class: 'FailedThreshold', unstableThreshold: '1'],
tools: [$class: 'MSTest', pattern: '*.trx']
)
}
}
}
}
}
Error:
Missing required parameter: "thresholdMode" @ line 19, column 21.
xunit (
^
WorkflowScript: 19: Missing required parameter: "testTimeMargin" @ line 19, column 21.
xunit (
^
我 运行 遇到了同样的问题,尽管有 GoogleTest 报告。 将缺少的参数添加到您的 xunit() 调用中应该可以解决问题:
xunit (
testTimeMargin: '3000',
thresholdMode: 1,
thresholds: [$class: 'FailedThreshold', unstableThreshold: '1'],
tools: [$class: 'MSTest', pattern: '*.trx']
)
“3000”和“1”是 xunit 插件内部设置的默认值。
我不得不对插件进行一些不同的处理,所以我发布了我的解决方案以防它有帮助 -
xunit(
[MSTest(deleteOutputFiles: true,
failIfNotNew: true,
pattern: '*.trx',
skipNoTestFiles: false,
stopProcessingIfError: true)
])
请注意,这需要您的 trx 文件位于工作区的根目录中。如果不是,您需要将它们复制到那里。
有理由使用 xunit
-plugin 吗?我按如下方式使用 mstest-plugin,这似乎工作正常
mstest testResultsFile:"**/*.trx", keepLongStdio: true