2010-01-05 22 views
21

Trong dự án của tôi, tôi cần tạo báo cáo Cobertura Code Coverage từ Hudson bằng cách sử dụng xây dựng maven.
Ở Hudson tôi đã thêm plugin Cobertura Code Coverage.
Tôi cần các bước sửa đổi hoàn chỉnh của pom.xml.Cách tạo Báo cáo Cobaltura Code Coverage bằng Maven từ Hudson

+0

Hãy coi chừng sự không tương thích của Java 7! Một [giải pháp có thể được hiển thị ở đây] [1]. [1]: http://stackoverflow.com/questions/7010665/testng-emma-cobertura-coverage-and-jdk-7-result-in-classformaterror-and-verif/9583305#9583305 – user1050755

Trả lời

30

Bạn đã thử thêm số này vào số pom.xml trong mục reporting?

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>cobertura-maven-plugin</artifactId> 
    <configuration> 
     <formats> 
      <format>html</format> 
      <format>xml</format> 
     </formats> 
    </configuration> 
</plugin> 

Bạn có thể tìm thấy các bước cấu hình hoàn chỉnh here.

+0

Tôi đã thêm cấu hình theo phần 'Thực hiện cobertura chỉ từ hudson sử dụng hồ sơ' có sẵn tại 'http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin' trong pom.xml của tôi Cũng đã thêm cấu hình dưới 'báo cáo' thẻ cho cobertura-maven-plugin Nhưng trong khi thực hiện việc xây dựng từ hudson - Tôi nhận được ngoại lệ sau Bỏ qua báo cáo phủ sóng Cobertura khi xây dựng không ổn định hoặc tốt hơn ... Đã hoàn thành: FAILURE Tôi đã định cấu hình plugin "Xuất bản Báo cáo Phạm vi Cobertura" ở Hudson Tôi có thiếu bất kỳ bước nào trong khi định cấu hình không? – stackoverflowsk

+1

kiểm tra nhật ký của bạn, nó sẽ hiển thị một số thông báo lỗi. cũng chạy mvn site cobertura: cobertura trên thanh toán cục bộ có thể hữu ích. Cũng như một lưu ý, đối với tôi, chỉ cần chạy "cobertura: cobertura" là một mục tiêu là đủ, không có thay đổi pom là cần thiết (có thể bởi vì một cấp trên pom đã bao gồm nó ...) – rogerdpack

7

Để chạy Cobertura trong giai đoạn đóng gói, làm

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.5.2</version> 
      <configuration> 
       <formats> 
        <format>xml</format> 
       </formats> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>cobertura</goal> 
        </goals> 
       </execution> 
      </executions> 
    </plugin>   

Heres một ví dụ về pom

http://macgyverdev.blogspot.com/2011/04/development-environment-for-google-app.html

Và đây làm thế nào để tích hợp trong Hudson http://macgyverdev.blogspot.com/2011/04/hudson-continous-integration-for-google.html

1

Cobertura không thực sự dường như làm việc với hudson.

Tôi có một dự án mà thực hiện các dòng lệnh: mvn gói sạch

Xây dựng một báo cáo bảo hiểm tạo ra một báo cáo bảo hiểm chính xác với độ che phủ trung bình của dòng về 78% và 74% chi nhánh.

Chạy cùng một mục tiêu trên máy chủ Hudson dẫn đến báo cáo mức độ phù hợp hiển thị 0% 0%.

Rất tiếc, trang web Jira dành cho plugin dường như không cho phép bất kỳ ai đăng sự cố nên vấn đề này chưa được báo cáo cho nhóm.

20

Hudson cần bạn tạo tệp coverage.xml. Để thực hiện việc này mà không thay đổi pom.xml, bạn có thể sử dụng:

mvn cobertura:cobertura -Dcobertura.report.format=xml 
+1

Trên hệ thống của tôi, phần '' của plugin không được tôn trọng .. Tuy nhiên, nó hoạt động khi tôi chỉ định tham số '-Dcobertura.report.format' ở trên trong dòng mục tiêu. Thx amcknight – matthaeus

+0

Câu trả lời hay! cảm ơn –

+0

Có cách nào để tạo báo cáo Cobertura trên lệnh 'mvn clean install' thay vì' mvn cobertura: cobertura', Khi tôi thay đổi 'executions'-' phase' thành 'test' và' goal' thành 'cobertura', nó hoạt động nhưng nó đang chạy các trường hợp thử nghiệm hai lần, bất kỳ ý tưởng về điều này? –

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