我有一些构建使用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(如果存在)。
感谢您的帮助!
答案 0 :(得分:1)
您可以在xpath表达式中执行OR,例如:
<statistics>
<statisticList>
<firstMatch name="Coverage"
xpath="//Root/@CoveragePercent | //coverageReport/project/@coverage"
generateGraph="true" />
</statisticList>
</statistics>