2014-11-14 10 views
9

Tôi có một dự án đa mô-đun với Gradle (2.2) + JaCoCo + Sonar. Tôi đang sử dụng plugin sonar-runner và khi tôi thực hiện các thử nghiệm, tôi có thể thấy trong mỗi mô-đun báo cáo thử nghiệm theo build/jacoco/jacoco.exec. Càng xa càng tốt.Cấu hình JaCoCo khi các nguồn và các lớp kiểm tra nằm trong các mô-đun khác nhau

Vấn đề là, tôi có một số kiểm tra trong mô-đun A đang thử nghiệm các lớp từ mô-đun B khác, và do đó JaCoCo xác định các lớp từ mô-đun B với độ phủ mã 0%. Tôi biết đây không phải là một thực hành tốt nhưng nó phải được thực hiện như thế.

Ví dụ về cấu trúc:

moduleA 
    src 
     java 
      Foo 
     test 
moduleB 
    src 
     java 
     test 
      TestFoo 

Sau đó JaCoCo sẽ hiển thị các lớp Foo với bảo hiểm 0%. Tôi đã thử kết hợp các kết quả từ tất cả các mô-đun nhưng tôi nhận được kết quả tương tự nhưng trong một tệp duy nhất, vì vậy đây không phải là những gì tôi đang tìm kiếm. Có tùy chọn nào để bao gồm các nguồn từ mô-đun khác khi thực hiện báo cáo JaCoCo không?

Cảm ơn.

Trả lời

0

mỗi mô-đun cần thử nghiệm riêng của mình. Jacoco xây dựng từng mô-đun jacoco.exec sau mô-đun và không thể quay lại mô-đun trước đó. Vì vậy, bạn phải thiết lập một TestFoo trong moduleA.

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