Vấn đề:
Tôi có một dự án với jacoco và tôi muốn có thể lọc các lớp và / hoặc gói nhất định.
Tài liệu liên quan:
Tôi đã đọc tài liệu sau:
Chính thức jacocotrang web: http://www.eclemma.org/jacoco/index.html
Chính thức jacoco tài liệu cho gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Chính thức jacoco Github
vấn đề, làm việc về phạm vi bảo hiểm:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/issues/14
Liên kết StackOverflow có liên quan:
JaCoCo & Gradle - Tùy chọn lọc (Không có câu trả lời)
Loại trừ các gói khỏi báo cáo Jacoco bằng Sonarrunner và Gradle (Không sử dụngsonar)
JaCoCo - loại trừ JSP khỏi báo cáo (Nó dường như hoạt động đối vớimaven, Tôi đang dùng gradle)
Cấu hình Maven Jacoco - Loại trừ các lớp / gói khỏi báo cáo không hoạt động (Có vẻ như hoạt động đối vớimaven, Tôi đang dùng gradle)
Loại trừ plugin JaCoCo gradle (Không thể làm cho điều này hoạt động)
Gradle Jacoco - báo cáo phạm vi bao gồm các lớp bị loại trừ trong cấu hình (Có vẻ rất gần, nó đã được sử dụng doFirst
, không hoạt động với tôi)
Ví dụ về những gì tôi đã thử:
apply plugin: 'java'
apply plugin: 'jacoco'
buildscript {
repositories {
mavenCentral()
jcenter()
}
}
repositories {
jcenter()
}
jacocoTestReport {
reports {
xml {
enabled true // coveralls plugin depends on xml format report
}
html {
enabled true
}
}
test {
jacoco {
destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
classDumpFile = file("$buildDir/jacoco/classpathdumps")
excludes = ["projecteuler/**"] // <-- does not work
// excludes = ["projecteuler"]
}
}
}
Câu hỏi:
Làm cách nào để loại trừ các gói và lớp nhất định khi tạo jacoco báo cáo bao phủ?
packages
cách sử dụng trực tuyến Codecov
? Ngoài ra, tôi đã thấy Github
, những gì về Android
hỗ trợ, tôi đã thấy Java
. Tôi vẫn phải gửi cho bạn tất cả các báo cáo rồi lọc sau so với lọc trước.
excludes
từ tài liệu chính thức thực sự làm sau đó? Nó có khá nhiều vô ích?
excludes
không phải là nhiệm vụ phủ sóng, mà là nhiệm vụ kiểm tra. Nó loại trừ các tệp khỏi được công cụ JaCoCo và do đó phạm vi được ghi lại. Bạn có thể sử dụng điều này nếu bạn không muốn ghi lại phạm vi bảo hiểm cho một số lớp học, nếu bạn không thể ghi lại vì một số xung đột với tác nhân thiết bị khác hoặc vì bạn đã cài đặt trước các lớp học. Điều này sẽ không loại trừ một lớp khỏi báo cáo, đặc biệt là trong trường hợp cuối cùng được đề cập, đây sẽ là một ý tưởng kinh khủng.