を使用してjacocoテスト範囲から、いくつかのJavaファイルを削除します。私はこのように行っている他、生成されたコードreport.For Jacacoテストカバレッジ内のいくつかのソースファイルを除外したいのGradle
classDirectories = fileTree(
dir: "${project.buildDir}/intermediates/classes/debug/com",
excludes: [
'**/R.class',
'**/R$*.class']
)
しかし、ときに私のJavaファイルを除外するためにこのようにやろうとしています:
dir: "${project.buildDir}/intermediates/classes/debug/com",
excludes: [
'src//java/com/example/application/Constants.java']
も、このように試してみました:'**/application/Constants.class'
.ITは動作しません。ここにパスを含める必要がありますか:dir: "${project.buildDir}/intermediates/classes/debug/com"
?
私はAndroidスタジオ3.0を使用しています(ここでは問題はないと思います)。私がしようとしています全コード:タイプJacocoReport
のタスクの
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')
}
あなたは、このようにクラスファイルを使用してみましたこんにちは、
はまた、あなたが簡単に、単純にそれを印刷することによって
fileTree(...)
呼び出しの結果をデバッグできることに注意してください: ''**/application/Constant.class''ですが、ソースファイルの名前は' 'Constants.java''です。あなたもこのタイプミスをしないで試しましたか?例えば'' **/Constants.class''? – Mayoaresはい私は打ち間違いなしで試してみました – Shubham