我可以为ccnet统计指定多个可能的来源吗?

时间:2011-04-13 14:22:24

标签: cruisecontrol.net ccnet-config dotcover

我有一些构建使用NCover进行测试覆盖率分析,有些构建使用DotCover。我将NCover / DotCover摘要报告合并到ccnet日志中,但我需要提取到ccnet“Coverage”统计信息的项目因工具而异(因为报告的格式不同)。

对于NCover,我使用以下内容:

    <statistics>
      <statisticList>
        <firstMatch name="Coverage"
                    xpath="//coverageReport/project/@coverage"
                    generateGraph="true" />
      </statisticList>
    </statistics>

对于DotCover,我需要这个:

    <statistics>
      <statisticList>
        <firstMatch name="Coverage"
                    xpath="//Root/@CoveragePercent"
                    generateGraph="true" />
      </statisticList>
    </statistics>

有没有办法指定两者?如果我只列出statisticList中的两个部分,则第二个部分总是获胜(因此,如果我列出DotCover第二个,使用NCover的构建将其覆盖统计设置为零,因为无法找到DotCover统计数据)。我想要的是将stat设置为NCover stat(如果存在),或者设置为DotCover stat(如果存在)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以在xpath表达式中执行OR,例如:

<statistics>
  <statisticList>
    <firstMatch name="Coverage"
                xpath="//Root/@CoveragePercent | //coverageReport/project/@coverage"
                generateGraph="true" />
  </statisticList>
</statistics>