我需要能够将 opencover 覆盖率结果导入 Jenkins,以便随着时间的推移提取覆盖率趋势数据。看来,最好的方法是找到一种方法将 opencover xml 格式转换为 ncover 格式,然后使用 NCover 插件导入结果。是否存在将 opencover 转换为 ncover 的现有 xslt,或将进行转换的开源工具?我已经搜索过了,我什么也没找到。
谢谢
OpenCover wiki上提供了以下 XSLT,它可能会帮助您入门。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" standalone="yes"/>
<xsl:template match="/CoverageSession/Modules">
<coverage>
<xsl:for-each select="Module[not(@skippedDueTo)]">
<module name="{ModuleName}">
<xsl:for-each select="Classes/Class">
<xsl:if test="count(Methods/Method) > 0">
<class name="{FullName}">
<xsl:variable name="className" select="FullName" />
<xsl:for-each select="Methods/Method">
<method class="{$className}">
<xsl:for-each select="SequencePoints/SequencePoint">
<seqpnt visitcount="{@vc}" />
</xsl:for-each>
</method>
</xsl:for-each>
</class>
</xsl:if>
</xsl:for-each>
</module>
</xsl:for-each>
</coverage>
</xsl:template>
</xsl:stylesheet>