6

我正在尝试将OpenCoverCruiseControl.NET集成。此时我已经通过构建系统进行了修改,因此它在 OpenCover 下运行我的 nunit 测试。然后,我从使用ReportGenerator的报告中生成 Xml 和 Html 报告。

假设可以将 ReportGenerator 生成的报告集成到 CruiseControl.NET webapp 中,我该如何集成这两者?

NCover 有它自己的NCoverReporting 任务可以使用,但由于我没有运行 NCover,我无法将其输出与 OpenCover 生成的 XML 报告进行比较。

相关想法/问题:

  • OpenCover 默认生成一个 XML 文件,但是 cc.net 可以使用该 XML 文件吗?
  • ReportGenerator 还生成 XML,它们是否适用于 cc.net 之类的东西?
  • cc.net 有一个合并日志的File-Merge发布者,但我还没有找到任何说明 cc.net 有用/使用哪些文件格式的文档。
4

2 回答 2

8

我遇到了这个问题,我通过这些步骤解决了它,考虑到我正在使用 msbuild,所以这只有在你使用 msbuild 时才有效:

  1. 添加覆盖目标
  2. 将任务添加到您的 build.proj 以创建 OpenCoverage 输出 (OpenCoverReport.xml)
  3. 紧接着,添加一个使用 ReportGenerator (reporttypes:XML) 创建摘要报告的任务。像这样:MSBuild 覆盖目标示例
  4. 使用 Summary.xml 创建用于创建 HTML 输出的 XSL 转换,不用担心,我已经写过了:对于解析程序集级别覆盖率(在您的构建日志输出中),请使用以下内容:XSLT 用于程序集级别覆盖率报告和解析类级别覆盖率(详细报告)使用以下内容:XSLT 用于类级别覆盖率报告
  5. 添加 buildReportBuildPlugin 和 xslReportBuildPlugin 以使用您的 dashboard.config 文件中的先前 XSLT 文件创建两个报告:将其添加到配置中
  6. 在您的 ccnet.config 文件中将覆盖率报告摘要 XML 文件合并到构建输出:将其添加到您的配置中
于 2012-06-26T08:15:24.070 回答
2

通过 IIS 公开报告后,您可以在 ccnet.config 中使用外部链接

   <externalLinks>
     <externalLink name="Code Coverage"     url="http://cc.net/coverage" /> 
   </externalLinks>
于 2012-01-19T06:00:04.577 回答