मैं Jacaco टेस्ट कवरेज में कुछ स्रोत फ़ाइलों को बाहर निकालना चाहते report.For अन्य उत्पन्न कोड मैं इस तरह किया है jacoco परीक्षण कवरेज से कुछ जावा फ़ाइलें निकालें:का उपयोग कर Gradle
classDirectories = fileTree(
dir: "${project.buildDir}/intermediates/classes/debug/com",
excludes: [
'**/R.class',
'**/R$*.class']
)
लेकिन जावा फ़ाइलों को छोड़कर के लिए जब मैं इस तरह करने के लिए कोशिश कर रहा हूँ:
dir: "${project.buildDir}/intermediates/classes/debug/com",
excludes: [
'src//java/com/example/application/Constants.java']
भी इस तरह की कोशिश की है: '**/application/Constants.class'
यह काम नहीं करता। क्या मुझे यहां पथ शामिल करने की आवश्यकता है: dir: "${project.buildDir}/intermediates/classes/debug/com"
?
मैं एंड्रॉइड स्टूडियो 3.0 का उपयोग कर रहा हूं (मुझे नहीं लगता कि यह यहां मायने रखता है)। पूर्ण कोड मैं कोशिश कर रहा हूँ कि:
task jacocoTestReport(type: JacocoReport) {
group = "Reporting"
description = "Generate Jacoco coverage reports"
reports {
xml.enabled = true
html.enabled = true
}
sourceDirectories = files(sourceSets)
classDirectories = fileTree(
dir: "${project.buildDir}/intermediates/classes/debug/com",
excludes: [
'src//java/com/example/application/Constants.java', //this is not working
'**/R.class',
'**/R$*.class',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/*$ViewInjector*.*',
'**/*$ViewBinder*.*',
'**/*$Lambda$*.*', // Jacoco can not handle several "$" in class name.
'**/*Module.*', // Modules for Dagger.
'**/*Dagger*.*', // Dagger auto-generated code.
'**/*MembersInjector*.*', // Dagger auto-generated code.
'**/*_Provide*Factory*.*',
'**/*_Factory.*', //Dagger auto-generated code
'**/*$*$*.*', // Anonymous classes generated by kotlin
//add libraries
'android/**/*.*',
'com/**/*.*',
'uk/**/*.*',
'io/**/*.*',
//remove what we don't test
'androidTest/**/*.*',
'test/**/*.*',
'**/injector/**/*.*',
'**/model/**/*.*',
'**/mock/**/*.*',
'**/event/**/*.*',
'**/**_ViewBinding**',
'**/*EventType.*',
'**/**Mocked'
]
)
executionData = fileTree(dir: 'build/jacoco', include: '**/*.exec')
}
हाय, आप इस तरह वर्ग फ़ाइल उपयोग करने की कोशिश : '' **/application/Constant.class'', लेकिन आपकी स्रोत फ़ाइल को 'Constants.java' नाम दिया गया है। तो क्या आपने इस टाइपो के बिना भी कोशिश की? जैसे '** **/Constants.class''? – Mayoares
हाँ मैंने टाइपो के बिना – Shubham