微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 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 举报,一经查实,本站将立刻删除。