मैं सफलतापूर्वक ग्राडल आधारित बिल्ड चलाने के बाद जैकोको द्वारा "बिल्ड/जैकोको" फ़ोल्डर में 2 .exec फ़ाइलों को उत्पन्न कर रहा हूं। एकीकरण परीक्षण।सोनारक्यूब - एकीकरण टेस्ट.एक्सईसी - सोनाररुनर (ग्रैडल) या "सोनार रनर" कमांड - 0.0% covereage दिखा रहा है
Gradle आदेश: "Gradle स्वच्छ निर्माण integrationTest"
करने के बाद, यह निर्माण/jacoco फ़ोल्डर के अंतर्गत निम्नलिखित .exec फ़ाइलें उत्पन्न करता है।
- test.exec
- integrationTest.exec
के बाद मेरी sonar-project.properties फ़ाइल है। जब, मैं लिनक्स प्रॉम्प्ट से "सोनार-धावक" चलाता हूं, लेकिन यह इस परियोजना के लिए सोनारक्यूब डैशबोर्ड पर पूरा होता है, मुझे लगता है कि यूनिट टेस्ट में कुछ 34.5% कहते हैं लेकिन एकीकरण परीक्षण 0.0% कहते हैं। दोनों .exec फ़ाइलों के पास वैध आकार है। मैंने .exec फ़ाइलों पर "बिल्ली" भी किया और आउटपुट को लिनक्स में "स्ट्रिंग्स" कमांड पर पाइप किया और देखा कि एकीकरण टेस्ट.एक्सईसी ने टेस्ट फ़ंक्शंस को मारा - मेरे पास केवल 1 .java फ़ाइल है।
जब मैं "Gradle स्वच्छ निर्माण integrationTest sonarRunner -Dxxx.xxx = yyy -Dyyy.xx = zzz" सभी सोनार चर-डी विकल्प का उपयोग sonar-project.properties फ़ाइल में उल्लिखित गुजर तक यानी चलाने के लिए, यह काम करता है लेकिन सोनारक्यूब प्रोजेक्ट के डैशबोर्ड पर एक ही परिणाम। प्रोजेक्ट के सोनार डैशबोर्ड में यूनिट/इंटीग्रेशन टेस्ट के लिए दोनों विजेट्स कॉन्फ़िगर किए गए हैं और मैं समग्र कवरेज दिखाने के लिए आईटी परीक्षण भी शामिल कर रहा हूं। कुल मिलाकर कवरेज 34.5% दिखा रहा है (जो यूनिट टेस्ट% मान है)। सोनार test.exec, integrationTest.exec देखता है और ऑटो भी इस ऑपरेशन के दौरान समग्र-xxx.exec फ़ाइल उत्पन्न करता है।
नोट: मुझे कोई जहाँ हूँ - एक अलग पोटीन/लिनक्स कंसोल पर -OR Gradle भीतर स्क्रिप्ट का निर्माण बिल्ला शुरू कर किसी भी मूल्य प्रदान करने या Jacoco के लिए जावा एजेंट सेट करते समय। मुझे एकीकरण Test.exec फ़ाइल और test.exec फ़ाइल मिल रही है, इसलिए पहले से ही यह सुनिश्चित नहीं है कि आईटी परीक्षण पूर्ण होने के बाद JVM को रोकना आवश्यक है या नहीं। मुझे नहीं लगता कि मुझे उन लोगों की आवश्यकता है क्योंकि मेरे पास .exec फ़ाइलों के लिए वैध फ़ाइल आकार है।
मेरे: - क्यों सोनार नहीं डैशबोर्ड भले ही मैंने सेट कर रहा हूं/निम्न चर सही ढंग से गुजर पर आईटी कवरेज हो रही है:
sonar.jacoco.itReportPath=build/jacoco/integrationTest.exec
-bash-3.2 $ बिल्ली sonar- project.properties
# Root project information
sonar.projectKey=com:company:product:ProjectA
sonar.projectName=ProjectA
sonar.projectVersion=1.0
# optional description
sonar.projectDescription=ProjectA Service
#Tells SonarQube that the code coverage tool by unit tests is JaCoCo
sonar.java.coveragePlugin=jacoco
#Tells SonarQube to reuse existing reports for unit tests execution and coverage reports
sonar.dynamicAnalysis=reuseReports
# Some properties that will be inherited by the modules
sonar.sources=src/java,test/java,src/java-test
# Sonar Unit Test Report path
sonar.jacoco.reportPath=build/jacoco/test.exec
# Sonar Integration Test Report Path
sonar.jacoco.itReportPath=build/jacoco/integrationTest.exec
sonar.junit.reportsPath=build/UT/results
# Sonar Binaries
sonar.binaries=build/classes/main