संकट:
मेरे पास एक प्रोजेक्ट है jacoco और मैं कुछ वर्गों और / या पैकेजों को फ़िल्टर करने में सक्षम होना चाहता हूं।
संबंधित प्रलेखन:
मैंने निम्नलिखित दस्तावेज पढ़े हैं:
आधिकारिक jacocoसाइट: http://www.eclemma.org/jacoco/index.html
आधिकारिक jacoco के लिए डॉक्स Gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
आधिकारिक jacoco Githubमुद्दों, कवरेज पर काम कर रहे:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/issues/14
संबंधित StackOverflow लिंक:
JaCoCo और ग्रेड - फ़िल्टरिंग विकल्प (कोई जवाब नहीं)
Sonarrunner और Gradle का उपयोग करके जैकोको रिपोर्ट से पैकेजों को छोड़ दें (उपयोग न करेंसोनार)
जैकोको - जेएसपी को रिपोर्ट से बाहर कर दें (यह काम करने लगता हैMaven, मै इस्तेमाल कर रहा हूँ Gradle)
मावेन जैकोको कॉन्फ़िगरेशन - रिपोर्ट से वर्गों / पैकेजों को न हटाएं (यह काम करने के लिए लगता है)Maven, मै इस्तेमाल कर रहा हूँ Gradle)
JaCoCo gradle plugin को बाहर करें (यह काम करने के लिए नहीं मिल सकता है)
ग्रैडल जैकोको - कवरेज रिपोर्टों में कॉन्फ़िगरेशन में शामिल कक्षाएं शामिल हैं (बहुत करीब लगता है, इसका इस्तेमाल किया doFirst, मेरे लिए काम नहीं किया)
मैंने जो कोशिश की है उसका उदाहरण:
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"]
}
}
}
सवाल:
जनरेट करते समय मैं कुछ संकुल और वर्गों को कैसे बाहर कर सकता हूँ jacoco कवरेज रिपोर्ट?
packagesऑनलाइन का उपयोग करके फ़िल्टर कर सकते हैं Codecov? इसके अलावा, मैंने देखा Github, Androidसमर्थन के बारे में क्या , मैंने देखा Java। मुझे अब भी आपको सभी रिपोर्ट भेजनी चाहिए, फिर पहले फ़िल्टर करने के बाद फ़िल्टर करना होगा।
excludesआधिकारिक दस्तावेज से वास्तव में ऐसा है तो? क्या यह बहुत बेकार है?
excludesकवरेज कार्य पर नहीं है, बल्कि परीक्षण कार्य पर है। यह JaCoCo द्वारा इंस्ट्रूमेंट की जा रही फाइलों को शामिल नहीं करता है और इस प्रकार कवरेज को रिकॉर्ड किया जा रहा है। आप इसका उपयोग कर सकते हैं यदि आप कुछ वर्गों के लिए कवरेज रिकॉर्ड नहीं करना चाहते हैं, यदि आप किसी अन्य इंस्ट्रूमेंटिंग एजेंट के साथ कुछ संघर्ष के कारण नहीं कर सकते हैं, या क्योंकि आप पूर्व-इंस्ट्रूमेंटेड कक्षाएं हैं। यह रिपोर्ट से एक वर्ग को बाहर नहीं करेगा, विशेष रूप से उल्लेखित अंतिम मामले में, यह एक भयानक विचार होगा।