2010-11-16 11 views
5

हमारे जुनीट परीक्षण में, मैंने कुछ परीक्षणों को देखा है जो कवरेज को ड्राइव नहीं करते हैं, और इस प्रकार उन्हें हटाया जाना चाहिए (वे समय लेते हैं लेकिन वास्तव में परीक्षण सूट में मूल्य नहीं जोड़ते हैं)।अनावश्यक JUnit परीक्षणों को हटाने

मैं सोच रहा था कि कौन से टूल्स मौजूद हैं जो मेरे लिए अनावश्यक परीक्षणों को खोज सकते हैं?

उत्तर

6

मैं इसे कोड कवरेज मीट्रिक का दुरुपयोग मानता हूं। सिर्फ इसलिए कि एक परीक्षण मेट्रिक में वृद्धि नहीं करता है, यह आवश्यक रूप से अनावश्यक नहीं है - यह एक विशिष्ट निष्पादन पथ का परीक्षण कर सकता है जिसमें एलओसी शामिल है जो कई अन्य परीक्षणों द्वारा एक साथ कवर किया गया है, लेकिन यह व्यवहार का प्रतिनिधित्व करता है कि अन्य परीक्षणों में से कोई भी कवर नहीं करता है। और याद रखें: कोड व्यवहार राज्य द्वारा बहुत प्रभावित है, लेकिन मुझे पता नहीं है कि कोई परीक्षण कवरेज उपकरण राज्य अंतरिक्ष के कवरेज को मापता है।

जब तक कि आपके परीक्षण सूट का रनटाइम गंभीर समस्या न हो, तब तक संभवतः अनावश्यक परीक्षणों को खत्म करने के बजाय आप अपने समय के साथ बहुत बेहतर चीजें कर सकते हैं।

+0

मैं आपसे सहमत हूं (कवरेज मीट्रिक का दुरुपयोग हो सकता है)। लेकिन अन्य मेट्रिक्स भी हैं, इसलिए मुझे लगता है कि इस समस्या को व्यापक रूप से संपर्क किया जाना चाहिए और मानक मीट्रिक के अधिक से अधिक देखना चाहिए, उदाहरण के लिए सशर्त की संख्या भी। –

2

कुछ महीने पहले मैंने एक्लिप्स प्लगइन Clover का उपयोग किया था। यह दिखा सकता है कि कोड की प्रत्येक पंक्ति को कितनी बार निष्पादित किया जाता है और यूनिट परीक्षणों के बाद हाइलाइट किया जाता है। मुझे लगता है कि क्लोवर इस बिंदु पर आपकी मदद कर सकता है।

+0

यह वास्तव में मेरा मुद्दा नहीं है :) मैं विकास के दौरान हडसन और इंटेलिजे के अपने कवरेज टूल पर कोबर्टुरा का उपयोग करता हूं। उत्तरार्द्ध यह भी दिखाता है कि प्रत्येक पंक्ति गुजरती है। लेकिन परीक्षण से नहीं! मैं जानना चाहता हूं कि कौन से परीक्षण बेहतर कवरेज में नहीं जुड़ते हैं, और चूंकि मैं ऑटिस्टिक नहीं हूं, इसलिए मैं खुद को याद नहीं कर सकता कि टेस्ट सूट मेरे कोडबेस में कितनी बार गुजरता है। –

+0

समझा। मुझे उम्मीद है कि क्लोवर ने इन महीनों के दौरान बहुत ही नई सुविधा को जोड़ा :) –

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