2012-10-12 23 views
8

के साथ मेरे पास जेनकिन्स में एक प्रोजेक्ट है जो मैं जाको कोड कोड कवरेज रिपोर्ट बनाना चाहता हूं। यदि मैं jacoco:test चलाता हूं तो jacoco:report स्थानीय रूप से यह myproject/target/scala-2.9.1/jacoco में सही फ़ाइलों (.exec, .classes और स्रोत) बनाता है, इसलिए यह काम करता है।जेनकींस और जाकोको एसबीटी

हालांकि जेनकिन्स पर निर्माण करते समय यह केवल कक्षा निर्देशिका बनाता है जिसका अर्थ है कि यह कोड उठाता है लेकिन परीक्षण को कवर नहीं करता है इसलिए मुझे 0% कोड कवरेज मिलता है।

क्या किसी ने इस तरह से एसबीटी के साथ जैकोको काम किया है?

उत्तर

0

आपने अपने जेनकींस जॉब कॉन्फ़िगरेशन के बारे में अधिक जानकारी नहीं दी है, इसलिए मैं कुछ धारणाएं कर रहा हूं, लेकिन आप जेनकींस जॉब में कई बिल्ड चरणों को जोड़/निष्पादित कर सकते हैं। रन मेवेन जैसे चीजों को चलाने या किसी भी मनमाने ढंग से लिपि चलाने के लिए कदम बनाएं।

पहला निर्माण चरण एक मेवेन बिल्ड चरण हो सकता है जो जैकोको चलाने के लिए "जैकोको: टेस्ट जैकोको: रिपोर्ट" निष्पादित करता है और फिर दूसरा निर्माण चरण जो भी आप चलाते हैं वह jacoco.exec फ़ाइल की तलाश में हो सकता है।

2

मैं एक नई स्कैला परियोजना शुरू करने की कोशिश करते समय इसी मुद्दे में भाग रहा था। कई पथ विन्यासों की कोशिश करने के बाद, मैं एक समाधान खोजने में सक्षम था।

पथ से वर्ग निर्देशिकाओं के लिए डिफ़ॉल्ट मान **/classes है। मुझे संदेह है कि मुद्दा यह है कि पैटर्न target/scala-X.XX/classes/ और target/scala-X.XX/jacoco/classes/ से मेल खाने की अनुमति देता है।

target/*/classes पर क्लास निर्देशिका पथ को बदलने से जेनकींस प्लग-इन को सही कवरेज जानकारी की रिपोर्ट करना प्रारंभ हो गया।

+0

आश्चर्यजनक! इस पोस्ट के लिए धन्यवाद मैंने पाया कि मुझे '**/target/*/classess' का उपयोग करने की आवश्यकता है। – kilo

+0

मुझे एक ही समस्या का सामना करना पड़ रहा है। क्या आप कृपया विस्तार से बता सकते हैं कि किस संपत्ति के लिए हमें "लक्ष्य/*/कक्षाएं" सेट करने की आवश्यकता है? –