2010-07-08 15 views
10

आवश्यकताओं के साथ कोड कवरेज से फाइल/कोड ब्लॉक बाहर निकालने के लिए:Netbeans/PHPStorm/PHPUnit एकीकरण

  • PHPUnit साथ Netbeans (6,9)
  • संपादित करें: एक ही लागू होता है, उदाहरण के लिए, PHPStorm को

कैसे करें:

  • कोड कोव से लाइनों को शामिल न करें क्रोध।
  • कोड कवरेज से कोड ब्लॉक (लाइन) को बाहर निकालें।

उत्तर

16

यदि आप 100% कोड कवरेज प्राप्त करने की कोशिश कर रहे हैं, लेकिन एक या अधिक लाइनें हैं जिन्हें आप परीक्षण नहीं कर सकते हैं, तो आप उन्हें विशेष टिप्पणियों से घिरा सकते हैं। उन्हें कोड कवरेज रिपोर्ट में अनदेखा कर दिया जाएगा।

if (($result = file_get_contenst($url)) === false) { 
    // @codeCoverageIgnoreStart 
    $this->handleError($url); 
    // @codeCoverageIgnoreEnd 
} 

संपादित करें: मैं पाया है Xdebug अक्सर मानता है कि समापन ब्रेस निष्पादन किया जाना है। :(अगर ऐसा होता है, तो उसे नीचे अंत टैग को स्थानांतरित

+0

मेरे पास PHPUnit का पुराना संस्करण था ताकि कोड काम न करे। मैंने इसे समझ लिया लेकिन धन्यवाद। यहां तक ​​कि एक बेहतर समाधान phpunit.xml => मैं उत्तर पोस्ट करने के लिए है .. – Alfred

+0

PHPStorm के साथ पुष्टि: समापन ब्रैकेट के बाद अंत टैग को स्थानांतरित करने की आवश्यकता है। – tivnet

2

पहले सुनिश्चित करें कि आप नवीनतम और सबसे बड़ी PHPUnit वरना कोड उपेक्षा अनुपलब्ध हो सकता है बनाने के बगल में एक phpunit.xml फ़ाइल है कि कुछ इस तरह दिखता बनाने के लिए:।।

<phpunit colors="true"> 
    <filter> 
     <blacklist> 
      <file>file1.php</file> 
      <file>file2.php</file> 
     </blacklist> 
    </filter> 
</phpunit> 
+4

आपके प्रश्न ने लाइनों और ब्लॉक को छोड़ने के बारे में पूछा जो ऊपर नहीं करेंगे - यह पूरी फाइलों को अनदेखा करता है। इसके अलावा, अगर आप एक श्वेतसूची (मेरी कंपनी करता है) का उपयोग करते हैं, तो ब्लैकलिस्ट को नजरअंदाज कर दिया जाता है। –

+0

ओह धन्यवाद डेविड। इस सवाल को बहुत पहले पूछा गया था और शीर्षक में यह फ़ाइल कहता है। लेकिन जानकारी के लिए धन्यवाद। – Alfred

20

उपेक्षा करने के लिए विधि कोड ब्लॉक:

/** 
* @codeCoverageIgnore 
*/ 
function functionToBeIgnored() { 
    // function implementation 
} 

वर्ग कोड ब्लॉक की अनदेखी करने के लिए:

/** 
* @codeCoverageIgnore 
*/ 
class Foo { 
    // class implementation 
} 

और जैसा @ डेविड-Harkness कहा, अनदेखी करने के लिए अलग-अलग लाइनों:

// @codeCoverageIgnoreStart 
print 'this line ignored for code coverage'; 
// @codeCoverageIgnoreEnd 

अधिक जानकारी की उपेक्षा कोड ब्लॉक शीर्षक के अंतर्गत PHPUnit Documentation में पाया द्वारा कर सकते हैं।

संबंधित मुद्दे