6

Tôi đang cố gắng tích hợp OpenCover với CruiseControl.NET. Tại thời điểm này tôi đã sửa đổi bởi xây dựng hệ thống để nó chạy thử nghiệm nunit của tôi theo OpenCover. Sau đó tôi tạo báo cáo Xml và Html từ những người sử dụng ReportGenerator.Làm cho các báo cáo OpenCover có sẵn trong CruiseControl.NET

Giả sử có thể tích hợp các báo cáo được tạo bởi ReportGenerator vào ứng dụng web CruiseControl.NET, làm cách nào để tích hợp hai?

NCover có riêng NCoverReporting task có thể được sử dụng, nhưng khi tôi không chạy NCover, tôi không thể so sánh đầu ra của nó với các báo cáo XML được tạo bởi OpenCover.

những suy nghĩ liên quan/câu hỏi:

  • OpenCover tạo ra một tập tin XML theo mặc định, nhưng là tập tin XML tiêu hao bởi cc.net?
  • ReportGenerator cũng tạo XML, chúng có dành cho thứ gì đó như cc.net không?
  • cc.net có nhà xuất bản File-Merge hợp nhất nhật ký, nhưng tôi chưa tìm thấy bất kỳ tài liệu nào cho biết định dạng tệp nào hữu ích/được sử dụng bởi cc.net.
+0

ReportGenerator cũng có thể tạo ra đầu ra HTML các tệp đó (hoặc index.html) phải dễ liên kết. –

+0

Xem bài đăng trên blog này http://www.palmmedia.de/Blog/2012/9/27/cruisecontrol-net-integration-of-coverage-reports để biết hướng dẫn. – Daniel

Trả lời

8

Tôi có vấn đề này và tôi giải quyết nó với các bước này, đưa vào tài khoản mà tôi đang sử dụng msbuild, vì vậy đây sẽ chỉ làm việc nếu bạn đang sử dụng msbuild:

  1. Thêm một mục tiêu cho Bảo hiểm
  2. Thêm một nhiệm vụ để build.proj của bạn để tạo đầu ra OpenCoverage (OpenCover Report.xml)
  3. Ngay sau đó, thêm một nhiệm vụ để tạo báo cáo Tóm tắt bằng cách sử dụng ReportGenerator (reporttypes: XML). Giống như vậy: MSBuild Coverage Target Example
  4. Tạo biến đổi XSL để tạo đầu ra HTML bằng tệp Summary.xml, đừng lo lắng tôi đã viết nó: Để phân tích mức độ lắp ráp (trong kết xuất nhật ký xây dựng), hãy sử dụng như sau: XSLT for an Assembly level coverage report và để phân tích cú pháp độ che phủ mức class (báo cáo chi tiết) sử dụng như sau: XSLT for a Class level coverage report
  5. Thêm buildReportBuildPlugin và xslReportBuildPlugin để tạo cả hai báo cáo sử dụng các tập tin XSLT trước đó trong tập tin dashboard.config của bạn: Add this to the configuration
  6. Hợp nhất báo cáo bảo hiểm tập tin tóm tắt XML cho Tạo đầu ra, trong tệp ccnet.config của bạn: add this to your configuration
+0

Bạn có thể đăng toàn bộ cấu hình của mình trong câu trả lời hay không (sẽ dễ theo dõi hơn) - đang cố gắng làm theo các bước của bạn nhưng (1) và (2) là một chút khó hiểu mà không có ví dụ ... – Denis

+0

Liên kết trong bước 3 nó cũng cho thấy kết quả của bước 1 và 2. –

+0

cảm ơn bạn (cũng nhận ra rằng sau này).Nhưng vì lý do nào đó các XSLT được liên kết ở đây không tạo ra bất kỳ kết quả nào cho tôi. Họ có làm việc không? – Denis

2

Bạn có thể sử dụng External Links trong ccnet.config của bạn sau khi phơi bày báo cáo của bạn thông qua IIS

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

dường như anh ta có thể làm điều đó với các báo cáo bảo hiểm được tạo bởi ReportGenerator sau đó. Không bao giờ sử dụng CC Tôi không thể thực hiện lời cảm ơn đó cho bản cập nhật ... một +1 từ tôi và chào mừng bạn đến với SO :) –

Các vấn đề liên quan