将 opencover xml 输出转换为 ncover xml

2023-12-19

我需要能够将 opencover 覆盖率结果导入 Jenkins,以随时间推移提取覆盖率趋势数据。 看来,最好的方法是找到一种方法将 opencover xml 格式转换为 ncover 格式,然后使用 NCover 插件导入结果。是否有现有的 xslt 可以将 opencover 转换为 ncover,或者是否有开源工具可以进行转换? 我已经搜索过,但一无所获。

thanks


以下 XSLT 可在开放封面维基 https://github.com/OpenCover/opencover/wiki/Monitoring-coverage-in-Atlassian-Bamboo这可能会让你开始。

<?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) &gt; 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 opencover xml 输出转换为 ncover xml 的相关文章

随机推荐