使用 MSTest 插件在 Jenkins 上发布测试和 OpenCover 覆盖率

问题描述

在 Jenkins 上,我使用 OpenCover 运行单元测试并以 xml 格式创建代码覆盖率报告。 这是命令:

"somepath\OpenCover.Console.exe" -target:"somepath\MSTest.exe" -targetargs:"/testcontainer:""somepath/Test.dll"" /resultsfile:""testresult.trx"" /noisolation /nologo" -output:"coverage.xml"

这工作正常,将运行单元测试并创建一个 testresult.trx一个 coverage.xml。现在我尝试使用 jenkins (https://plugins.jenkins.io/mstest/) 的 MSTest 插件发布测试结果。该插件将读取 testresult.trx 并在作业概览中显示测试结果。这很有效,但是插件还会自动查找带有代码覆盖率报告的 xml 文件。但是,不支持 OpenCover 提供的格式,这会产生以下输出

[MSTEST-PLUGIN] 警告不支持 XML 覆盖率报告文件格式(阅读 wiki):somepath\testresult.coveragexml
构建步骤“发布 MSTest 测试结果报告”将构建结果更改为不稳定

wiki (https://wiki.jenkins.io/pages/viewpage.action?pageId=36602837) 和插件页面 (https://plugins.jenkins.io/mstest/) 都有一些关于代码覆盖率文件和不同格式的信息。搜索网络还显示了有关该主题的各种讨论。通常建议将代码覆盖率报告转换为不同的格式。我尝试了不同的选项(例如 https://github.com/gredman/CI.MSBuild.Taskshttps://github.com/yasu-s/CoverageConverter),但没有成功让 MSTest 插件读取 xml 文件。我不熟悉这些代码覆盖率报告的一般情况,也不熟悉具体的不同格式,因此我不知道如何才能使其正常工作。

因为我的工作实际上不需要代码覆盖率信息,所以我可以选择以下任一选项:

A:有某种转换器可以让 MSTest 插件读取 xml 文件

B:如果无法解析覆盖率报告,有一个选项可以防止 MSTest 插件将构建标记为不稳定。

感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)