Gradle Jacoco’dan Sınıfları Hariç Tutma: Adım Adım Kılavuz
Merhaba! Fatih Soysal burada. Bu yazıda, Gradle’da Jacoco kullanarak kod kapsamı analizinde bazı sınıfları nasıl hariç tutabileceğinizi detaylı bir şekilde açıklayacağım. Bildiğiniz gibi, Jacoco, Java kodu için mükemmel bir kod kapsamı aracıdır. Ancak, bazen belirli sınıfları analizden hariç tutmanız gerekebilir; örneğin, otomatik olarak oluşturulan kodlar, üçüncü parti kütüphaneler veya test sınıfları gibi. Neyse ki, Gradle bunu oldukça kolaylaştırıyor.
Jacoco Hariç Tutma Yöntemleri
Gradle’da Jacoco’dan sınıfları hariç tutmanın birkaç yolu vardır. Bunlardan en yaygın ve etkili olanlarını inceleyelim. Öncelikle, jacocoTestReport görevinde excludes özelliğini kullanacağız. Bu özellik, hariç tutmak istediğiniz sınıf veya paketleri belirlemenizi sağlar. Bu yöntemle, belirli dosyaları ya da dizinleri doğrudan belirtebilirsiniz.
Yöntem 1: excludes Özelliği ile Sınıfları Hariç Tutma
Bu yöntem, en basit ve en yaygın kullanılan yöntemdir. build.gradle dosyanızda jacocoTestReport görevini şu şekilde düzenleyebilirsiniz:
jacocoTestReport {
reports {
xml.required = true
csv.required = false
html.destination = file("$buildDir/reports/jacoco/test/html")
}
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it, includes: ['*.class'], excludes: ['**/ExcludedClass.class', '**/another/package/*.class'])
}))
}
}
Bu örnekte, ExcludedClass.class ve another/package dizini altındaki tüm .class dosyaları Jacoco raporundan hariç tutulmuştur. Burada dikkat etmeniz gereken nokta, doğru dosya yolunu ve dosya uzantısını belirtmenizdir. Yol adlandırmanızda hata yaparsanız, istediğiniz sonucu alamazsınız. Yani, excludes özelliği ile istediğiniz kadar sınıfı veya paketi tek tek veya toplu halde hariç tutabilirsiniz.
Yöntem 2: Wildcards (Joker Karakterler) Kullanımı
Daha genel bir yaklaşım için wildcard’lar kullanabilirsiniz. Örneğin, tüm util paketini hariç tutmak için şu şekilde bir yapı kullanabilirsiniz:
excludes = ['**/util/**/*.class']
Bu kod, util paketinin altındaki tüm alt paketlerdeki tüm sınıfları hariç tutar. Bu yöntem daha az spesifik ancak daha az kodla daha geniş kapsamlı hariç tutma işlemleri yapmanızı sağlar. Bu yöntemin avantajı, kodunuzu daha temiz tutması ve daha kolay yönetilmesini sağlamasıdır.
İpuçları ve Önemli Notlar
Hariç tutma işlemini doğru bir şekilde yapmanız, raporlarınızın doğruluğu açısından oldukça önemlidir. Yanlış bir yapılandırma, raporlarınızın yanlış sonuçlar vermesine neden olabilir. Bu nedenle, hariç tuttuğunuz sınıfları dikkatlice seçin ve doğru dosya yollarını kullandığınızdan emin olun. Ayrıca, excludes listesini düzenli olarak güncel tutmanız ve gereksiz sınıfların hariç tutulmamasını sağlamanız önerilir. Bu, analizinizin kapsamını ve güvenilirliğini artıracaktır.
Daha fazla bilgi ve örnek için bu makaleye göz atabilirsiniz. Ek olarak, Gradle ve Jacoco dokümanlarını inceleyerek daha detaylı bilgi edinebilirsiniz. Herhangi bir sorunuz olursa, web sitemi üzerinden bana ulaşabilirsiniz.
Umarım bu makale size yardımcı olmuştur. Kodlarınızın kapsamını doğru bir şekilde analiz edebilmeniz dileğiyle!
#Etiketler: Jacoco, Gradle, Kod Kapsamı, Test, Exclude, Hariç Tutma, Android, Java, build.gradle, jacocoTestReport, excludes, wildcard
