2012-01-03 15 views
5

मैं क्लॉयर रिपोर्ट से hashCode और equals को बाहर करना चाहता हूं।
कुछ कॉन्फ़िगरेशन उदाहरण अच्छा होगा।क्लॉवर कवरेज रिपोर्ट से मैं विधियों (हैशकोड और बराबर) को कैसे बाहर निकाल सकता हूं?

+3

आप क्यों उन तरीकों का परीक्षण करना चाहते नहीं होगा? मुझे लगता है कि यह एक गलती है। – duffymo

+0

क्या आपने इसके लिए कोई समाधान निकाला था? वास्तव में अच्छा होगा अगर आप – add9

+0

नहीं साझा कर सकते हैं .... अभी भी कोई समाधान नहीं है, असल में मैंने इस समस्या को अभी अनदेखा कर दिया है .... –

उत्तर

1

आप दो कदम क्या करना है

<clover-setup ...> 
    <methodContext name="equals" regexp="public boolean equals\(.*\)"/> 
    <methodContext name="hashCode" regexp="public int hashCode\(\)"/> 
</clover-setup> 

2) निर्धारित जो विधि संदर्भों < तिपतिया घास-रिपोर्ट > कार्य में रिपोर्ट में शामिल नहीं किया जाएगा

<clover-report> 
    <current outfile="clover_html" title="My Coverage"> 
    <format type="html" filter="equals,hashCode"/> 
    </current> 

अधिक जानकारी:

3

मैं हैशकोड को बाहर करना चाहता हूं और क्लॉयर रिपोर्ट से बराबर होना चाहता हूं।

मैं सम्मानपूर्वक सुझाव दूंगा कि आप इन तरीकों से बचने के बजाय वास्तव में इन तरीकों का परीक्षण करेंगे। गंभीर बग तब हो सकते हैं जब वे विनिर्देशों के अनुरूप नहीं हैं। मैंने एनपीई और अन्य समस्याओं का सामना खराब तरीके से hashCode और equals विधियों में भी किया है। यहाँ है कि आप अपने तरीकों का परीक्षण कर सकते हैं तरीके का एक संख्या के साथ एक महान लिंक है:

How should one unit test the hashCode-equals contract?

हम का उपयोग निम्नलिखित LocalEqualsHashCodeTest जो एक इकाई परीक्षण द्वारा बढ़ाया जा सकता:

http://pastebin.com/L03fHAjv

फिर आप createInstance() विधि को परिभाषित करते हैं whi ch आपकी कक्षा का एक उदाहरण और createNotEqualInstance() विधि देता है जो एक और उदाहरण देता है जो पहले के बराबर नहीं है। उदाहरण के लिए,

1) को परिभाषित करें < तिपतिया घास-सेटअप > तरीकों आप मैच के लिए चाहते हैं के लिए नियमित अभिव्यक्ति युक्त कार्य में विधि संदर्भों:

+3

मैंने कभी भी यह नहीं पूछा कि जब भी यह बराबर/हैशकोड का परीक्षण करने के लिए समझ में आता है, या कैसे करना है यह, लेकिन उन्हें क्लॉवर –

+3

से कैसे बाहर निकालना है यह ठीक है @ मैसीज मिक्लास। मैं बस आपको चीजों को देखने का एक अलग तरीका देना चाहता था। एसओ पर उत्तर के टन विशिष्ट प्रश्न को संबोधित नहीं करते हैं लेकिन पोस्टर को इसे अलग-अलग देखने के लिए प्रोत्साहित करते हैं। तथ्य यह है कि मुझे नहीं पता लेकिन मैं उन्हें परीक्षण करने के लिए एक बुरा अभ्यास मानता हूं। – Gray

+2

मजेदार, मैं यहां अपने कोबर्टुरा साइट रिपोर्ट हैशकोड और बराबर से बाहर निकलने का एक तरीका ढूंढ रहा हूं, लेकिन असल में आपका तरीका (उस उपयोगिता वर्ग के साथ उनका परीक्षण करना) और भी बेहतर लगता है। तो धन्यवाद! (बीटीडब्ल्यू, मुझे नहीं पता कि ओपी आपके जवाब के बारे में इतना कठोर क्यों था ...) – juancancela

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