6

我正在嘗試集成OpenCoverCruiseControl.NET。在這一點上,我通過構建系統進行了修改,以便在OpenCover下運行我的nunit測試。然後我使用ReportGenerator生成Xml和Html報告。使CruiseControl.NET中的OpenCover報告可用

假設可以將ReportGenerator生成的報告集成到CruiseControl.NET網絡應用程序中,我該如何整合這兩者?

NCover有它自己的NCoverReporting task可以使用,但我沒有運行NCover我不能與OpenCover生成的XML報告的輸出比較。

相關的想法/問題:

  • OpenCover默認生成一個XML文件,而是由cc.net該XML文件耗材?
  • ReportGenerator還生成XML,它們是否適用於類似cc.net的內容?
  • cc.net有一個File-Merge發佈者合併日誌,但我還沒有找到任何文件指出哪些文件格式對cc.net有用/使用。
+0

ReportGenerator還可以生成HTML輸出,這些文件(或index.html)應該很容易鏈接。 –

+0

有關教程,請參閱此博文http://www.palmmedia.de/Blog/2012/9/27/cruisecontrol-net-integration-of-coverage-reports。 – Daniel

回答

8

暴露你的報告我有這個問題,我與這些步驟解決了這個問題後,您可以使用您的ccnet.config External Links,考慮到我使用的MSBuild帳戶,所以,如果你使用的MSBuild這隻會工作:

  1. 添加一個目標覆蓋
  2. 任務添加到您的build.proj用於創建OpenCoverage輸出(OpenCover Report.xml)
  3. 緊隨其後,使用 ReportGenerator(reporttypes:XML)添加創建摘要報告的任務。像這樣:MSBuild Coverage Target Example
  4. 使用Summary.xml創建用於創建HTML輸出的XSL轉換,不用擔心我已經寫過了:爲了解析彙編級別覆蓋(在您的構建日誌輸出中),請使用以下代碼:XSLT for an Assembly level coverage report和解析類級覆蓋(詳細報道),請使用以下內容:XSLT for a Class level coverage report
  5. 添加buildReportBuildPlugin和xslReportBuildPlugin使用在dashboard.config文件以前的XSLT文件創建兩個報告:Add this to the configuration
  6. 合併覆蓋報告摘要XML文件到在ccnet.config文件中生成輸出:add this to your configuration
+0

是否有可能將您的整個配置發佈在答案中(會更容易遵循) - 試圖按照你的步驟,但(1)和(2)有點神祕,沒有例子... – Denis

+0

第3步中的鏈接也顯示了第1步和第2步的結果。 –

+0

謝謝(後來也意識到了)。但由於某些原因,這裏鏈接的XSLT並不會爲我產生任何結果。做他們的工作? – Denis

2

通過IIS

<externalLinks> 
    <externalLink name="Code Coverage"  url="http://cc.net/coverage" /> 
    </externalLinks> 
+0

似乎可以通過ReportGenerator生成的覆蓋率報告來完成此操作。從未使用CC我無法致電致謝感謝您的更新......來自我的+1和歡迎來到:) –