Çok modüllü bir Android projem var ve jacoco'nun raporladığı kapsama ile Sonarqube'nin bildirdiği raporlar arasında bir tutarsızlık görüyorum. Proje aynı zamanda çok sayıda farklı değişken üreten çok amaçlı bir projedir. Tüm görevleri oluşturmama yardımcı olmak için this plugin kullanıyorum. Görevler, her varyant için bireysel bir rapor oluşturur. Benim jacoco raporları çalıştırdığınızdaSonarqube genel kapsamı jacoco rapor kapsama alanıyla eşleşmiyor
Bunu görmek:
Ben bunu görmek sonar tarayıcı çalıştırdığınızda:
Projemde bazı dışlamaları var, ama bile olmadan % s kapsamı eşleşmiyor. Sonar Versiyon 5.6:
Ben
İşte benim alakalı bilgi olduğunu this question: içinde ima gibi aynı bayt kodu sağlamıyor olabilir gibi hissediyorum.
Gradle koşucu
plugins { id "org.sonarqube" version "2.0.1" }
Sonar yapılandırma: (kök build.gradle)
sonarqube {
properties {
property "sonar.projectKey", "com.xxx.myApp"
property "sonar.projectName", "Android My App"
property "sonar.projectVersion", "3.0"
property "sonar.java.binaries", "build/classes"
property "sonar.coveragePlugin", "jacoco"
property "sonar.jacoco.reportMissing.force.zero", "false"
}
}
(app/build.gradle üzerine)
Sonar yapılandırma
sonarqube {
properties {
property "sonar.sources", "src/main/java"
property "sonar.tests", "src/test/java"
property "sonar.java.tests", "src/test/java"
property "sonar.junit.reportsPath", "build/test-results/myAppGoogleMobileDebug"
property "sonar.java.binaries", "build/intermediates/classes/myAppGoogleMobile/debug"
property "sonar.jacoco.reportPath", "build/jacoco/testMyAppGoogleMobileDebugUnitTest.exec"
property "sonar.coverage.exclusions", coverageExclusions
}
}
Jacoco yapılandırma ile ilgili (app/build.gradle)
def coverageExclusions = ['**/AEWatchApp.*', '**/**_Factory.*',
'**/QaSettingsActivity.*',
'com/aetn/android/tveapps/activities/**',
'com/aetn/android/tveapps/test/**',
'com/aetn/android/tveapps/app/injection/modules/**',
'com/aetn/android/tveapps/app/injection/components/**',
'com.aetn.android.tveapps.mock/**',
'com/aetn/android/tveapps/databinding/**']
jacocoAndroidUnitTestReport {
csv.enabled false
html.enabled true
xml.enabled true
excludes += coverageExclusions
}
. Lütfen açıklar mısın? Sonar'ın gösterdiği% 28'lik kapsama nedir? Sonar raporunda büyük% 28,8 "kapsama" dikkat edin. Bunun neyi temsil ettiğini ve jacoco raporuyla nasıl bir ilişki olduğunu anlamıyorum. Branşman kapsamı, neye dikkat etmeli ve gözden kaçırmama talimatları mı? –
"28.8%" - Hat kapsamı ve Şube kapsamının bir karışımıdır, bkz. Sayfa http://docs.sonarqube.org/display/SONAR/Metric+Daha sonra nasıl hesaplandığı hakkında JaCoCo bunu hesaplamamaktadır. "% 27.1" - JaCoCo raporunda sunulması gereken ancak ekran görüntüsünde gösterilmemesi gereken hat kapsamıdır (örneğin, http://www.eclemma.org/jacoco/trunk/coverage adresindeki 5 sütun "cevapsız/satır" konusuna bakın) . "endişeli"? ne demek istiyorsun?İlk soru tutarsızlık ve kod kapsamı metriklerinin nasıl kullanıldığı farklı bir hikaye. SonarQube, her ikisinin de aynı anda izlenmesini kolaylaştırmak için şube ve hatların toplanmasını sağlar. – Godin
cevabımı – Godin