2012-01-16 11 views
9

के साथ PHPUnit कोड कवरेज का उपयोग करके मैं PHPUnit (3.6.7) का उपयोग कर रहा हूं और मेरे आवेदन पर कोड कवरेज रिपोर्ट प्रदान करने के लिए उपयोग कर रहा हूं, सब कुछ सेट-अप है और उम्मीद के अनुसार काम कर रहा है।इंटरफ़ेस

मैं भले ही मैं परीक्षण है कि कक्षाओं के लिए कि इंटरफेस को लागू है मेरी इंटरफेस के अलावा कोड के सभी के लिए पूरा कवरेज,। रिपोर्ट सिर्फ कहा गया है कि इंटरफेस

वहाँ इंटरफेस को कवर करने का कोई तरीका है निष्पादित नहीं किया गया था? या क्या यह PHPUnit को कोड कवरेज के लिए अनदेखा करने का मामला है?

उत्तर

5

आप पैरेंट अमूर्त कक्षाओं/इंटरफेस से ठोस वर्ग कवर विधियों के लिए परीक्षण निर्दिष्ट कर सकते हैं।

Specifying Covered MethodsCode Coverage Analysis अध्याय में अनुभाग देखें मैनुअल में।

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

+1

बिल्कुल सही! धन्यवाद। किसी और को है कि इस पार चलो के लिए, आप @covers जरूरत CLASS_NAME आप वर्ग दस्तावेज़ ब्लॉक नवीनतम संस्करण मैनुअल पृष्ठ पर –

+0

अपडेट किया गया लिंक का परीक्षण में: https://phpunit.de/manual/current/en/code-coverage-analysis.html – shevron

+0

@ शेवरॉन: धन्यवाद! मैंने अब मेरे जवाब में लिंक अपडेट किया है। – Mchl

1

इंटरफेस में कोई निष्पादन योग्य कोड नहीं है, इसलिए परीक्षण करने के लिए कुछ भी नहीं है।

+0

मैं उन्हें सीधे परीक्षण करने की कोशिश नहीं कर रहा हूं, हालांकि वे assertInstanceOf() के साथ उपयोग करते हैं, मैं बस उन्हें कोड कवरेज में चाहता हूं क्योंकि उन्हें "इस्तेमाल किया जा रहा है" –

5
बस एक अतिरिक्त जवाब के रूप में

:

PHPUnit (3.7.) की अगली फिल्म डिफ़ॉल्ट रूप से कवरेज के लिए सभी इंटरफ़ेस अनदेखी करेंगे।

तो यह किसी भी तरह की //@codeCoverageIgnore तरीके का उपयोग करेगा आवश्यक नहीं करने के लिए भी शामिल है या तो आस-पास काम करने के लिए।

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