2010-01-05 10 views
21

से मेवेन का उपयोग करके कोबर्टुरा कोड कवरेज रिपोर्ट कैसे उत्पन्न करें मेरी परियोजना में मुझे मैवेन बिल्ड का उपयोग करके हडसन से कोबर्टुरा कोड कवरेज रिपोर्ट बनाने की आवश्यकता है।
हडसन में मैंने कोबर्टुरा कोड कवरेज प्लगइन जोड़ा है।
मुझे pom.xml के पूर्ण संशोधन चरणों की आवश्यकता है।हडसन

+0

जावा 7 असंगति से सावधान! एक संभावित [समाधान यहां दिखाया गया है] [1]। [1]: http://stackoverflow.com/questions/7010665/testng-emma-cobertura-coverage-and-jdk-7-result-in-classformaterror-and-verif/9583305#9583305 – user1050755

उत्तर

30

क्या आपने इसे reporting सेक्शन में अपने pom.xml में जोड़ने का प्रयास किया था?

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>cobertura-maven-plugin</artifactId> 
    <configuration> 
     <formats> 
      <format>html</format> 
      <format>xml</format> 
     </formats> 
    </configuration> 
</plugin> 

पूर्ण कॉन्फ़िगरेशन चरण here पाया जा सकता है।

+0

मैंने अपने pom.xml में 'http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin' पर उपलब्ध प्रोफाइल का उपयोग करके केवल 'हडसन से निष्पादित करें' सेक्शन कॉन्फ़िगरेशन जोड़ा है। इसके अलावा कॉन्फ़िगरेशन भी जोड़ा गया है cobertura-maven-plugin के लिए 'रिपोर्टिंग' टैग लेकिन हडसन से निर्माण निष्पादित करते समय - मुझे निम्नलिखित अपवाद मिल रहा है निर्माण के रूप में कोबर्टुरा कवरेज रिपोर्ट छोड़ना अस्थिर या बेहतर नहीं था ... समाप्त: विफलता मैंने हडसन में प्लगइन "प्रकाशित कोबर्टुरा कवरेज रिपोर्ट" प्लगइन कॉन्फ़िगर किया है क्या मुझे कॉन्फ़िगरेशन के दौरान कोई कदम याद आ रहा है? – stackoverflowsk

+1

अपने लॉग जांचें, इसे कुछ विफलता संदेश दिखाना चाहिए। एमवीएन साइट कोबर्टुरा भी चला रहा है: स्थानीय चेकआउट पर कोबर्टुरा मदद कर सकता है। एक नोट के रूप में, मेरे लिए, केवल एक लक्ष्य के रूप में "कोबर्टुरा: कोबर्टुरा" चलाना पर्याप्त था, कोई भी पोम परिवर्तन आवश्यक नहीं था (संभवतः क्योंकि ऊपरी स्तर के पोम में पहले से ही इसे शामिल किया गया था ...) – rogerdpack

7

पैकेज चरण के दौरान Cobertura चलाने के लिए,

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.5.2</version> 
      <configuration> 
       <formats> 
        <format>xml</format> 
       </formats> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>cobertura</goal> 
        </goals> 
       </execution> 
      </executions> 
    </plugin>   

कर यहाँ पोम का एक उदाहरण

http://macgyverdev.blogspot.com/2011/04/development-environment-for-google-app.html

और यहाँ हडसन में एकीकृत करने के लिए कैसे http://macgyverdev.blogspot.com/2011/04/hudson-continous-integration-for-google.html

1

Cobertura नहीं है वास्तव में हडसन के साथ काम करने लगते हैं। mvn साफ पैकेज

बनाता है एक कवरेज रिपोर्ट के बारे में 78% लाइन और 74% शाखा के एक औसत कवरेज के साथ एक सटीक कवरेज रिपोर्ट बनाता है:

मैं एक परियोजना जहां कमांड लाइन को क्रियान्वित करने की है।

एक हडसन सर्वर पर समान लक्ष्यों को चलाने के परिणामस्वरूप कवरेज रिपोर्ट में 0% 0% दिखाया गया है।

दुर्भाग्यवश प्लगइन के लिए जिरा साइट किसी को भी मुद्दों को पोस्ट करने की अनुमति नहीं देती है, इसलिए यह समस्या टीम के लिए अभी तक रिपोर्ट नहीं की गई है।

20

हडसन को coverage.xml फ़ाइल जेनरेट करने के लिए आपको चाहिए। अपने pom.xml बदले बिना ऐसा करने के लिए, आप का उपयोग कर सकते हैं:

mvn cobertura:cobertura -Dcobertura.report.format=xml 
+1

मेरे सिस्टम पर प्लगइन का '<कॉन्फ़िगरेशन>' अनुभाग सम्मानित नहीं है .. हालांकि, यह कार्य करता है जब मैं उपरोक्त '-Dcobertura.report.format' पैरामीटर को लक्ष्यों की पंक्ति में निर्दिष्ट करता हूं। Thx amcknight – matthaeus

+0

ग्रेट उत्तर! धन्यवाद –

+0

क्या एमवीएन कोबर्टुरा: कोबर्टुरा 'के बजाय' एमवीएन क्लीन इंस्टॉल 'कमांड पर कोबर्टूरा रिपोर्ट जेनरेट करने का कोई तरीका है, जब मैंने' निष्पादन'- 'चरण' को 'टेस्ट' और 'गोल' के रूप में 'कोबर्टुरा' के रूप में बदल दिया, यह काम करता है लेकिन यह परीक्षण मामलों को दो बार चला रहा है, इस पर कोई विचार है? –