我需要能够将 opencover 覆盖率结果导入 Jenkins 以提取随时间推移的覆盖率趋势数据。似乎最好的方法是找到一种方法将opencover xml格式转换为ncover格式,然后使用NCover插件导入结果。是否有现有的 xslt 可以将 opencover 转换为 ncover,或者是否有一个开源工具可以进行转换?我已经搜索过了,但一无所获。
谢谢
以下 XSLT 在 OpenCover wiki 上可用,可能会帮助您入门。
<?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>