क्या विज़ुअल स्टूडियो में यूनिट टेस्ट के लिए कोड कवरेज है?


83

मैं विज़ुअल स्टूडियो 2015 सामुदायिक संस्करण का उपयोग कर रहा हूं, और मुझे पता है कि इसमें कोड का परीक्षण करने के लिए यूनिट टेस्ट बनाने का विकल्प है, लेकिन मुझे कोड कवरेज का परीक्षण करने का विकल्प नहीं दिखता है, इसलिए मैं जानना चाहूंगा कि क्या विज़ुअल स्टूडियो के पास है यह विकल्प या यदि मुझे किसी तृतीय-पक्ष प्लगइन का उपयोग करना है।

अगर मुझे तीसरे पक्ष के समाधान का उपयोग करना है, तो क्या यह एक अच्छा विकल्प होगा?

जवाबों:


79

केवल विजुअल स्टूडियो 2015 एंटरप्राइज में कोड कवरेज बिल्ट-इन है। देखें सुविधा मैट्रिक्स जानकारी के लिए।

आप Visual Studio के अंदर कोड कवरेज की जाँच के लिए OpenCover.UI एक्सटेंशन का उपयोग कर सकते हैं । यह MSTest, nUnit और xUnit का समर्थन करता है।

नया संस्करण यहां से डाउनलोड किया जा सकता है ( नोट्स जारी करें )।


नया एक्सटेंशन संस्करण अब वीएस गैलरी विजुअलस्टूडियोजैलरी.एमएसडीएन.माइकोमाइनस.कॉम
टोनी

2
OpenCover UI NUnit 3
Lennart

1
opencover.UI (जो VS से एकीकृत है) में बहुत गन्दा रिपोर्ट (परिणाम विंडो) है जिसका उपयोग करना असंभव है। सीधे opencover पर जाएं: allenconway.net/2015/06/…
Roman Pokrovskij

"नवीनतम रिलीज़ - 2016"। आधुनिक दृश्य स्टूडियो के साथ काम नहीं करता है
एलेक्स

47

यदि आप Visual Studio 2017 का उपयोग कर रहे हैं और इस प्रश्न पर आते हैं, तो आप AxoCover पर विचार कर सकते हैं। यह एक मुक्त VS विस्तार है जो ओपनकोवर को एकीकृत करता है, लेकिन VS2017 का समर्थन करता है (यह सक्रिय विकास के तहत प्रतीत होता है। +1)।

वीएस एक्सटेंशन पेज

https://github.com/axodox/AxoTools


9
यह ध्यान देने योग्य है कि यह (वर्तमान में) केवल .NET के डेस्कटॉप संस्करणों का समर्थन करता है - यानी .NET कोर लेखन के समय समर्थित नहीं दिखाई देता है।
Jay

6
12 दिसंबर, 2017, अभी भी .NET कोर / Xamarin के लिए समर्थन नहीं है
Tuan Tran

1
हाँ। नहीं। नेट कोर। बस के बाद मैं स्थापित एहसास हुआ। :( अगस्त 2018
default_noob_network

2
मार्च 2019 तक, Axoover केवल xUnit 2.2 (जो पहले से ही दो साल से अधिक पुराना है) के माध्यम से समर्थन करता है, वर्तमान में xUnit 2.3 या 2.4 का समर्थन करने के लिए कोई योजना नहीं है। यदि आप xUnit परीक्षण चलाने की उम्मीद कर रहे हैं, तो परेशान न हों।
सीन वेर्केमा

2
यह २०२० जून है और उपरोक्त टिप्पणियां अभी भी सही, दुख की बात है।
Г И О И О

34

Toniका जवाब बहुत उपयोगी है, लेकिन मैंने सोचा कि कुल शुरुआती लोगों के लिए कवरेज मूल्यांकन का परीक्षण करने के लिए एक त्वरित शुरुआत (जैसे मैं हूं)।

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

  1. NuGet इंटरफ़ेस का उपयोग करके OpenCover NUGet घटक स्थापित करें

  2. OpenCoverUI एक्सटेंशन प्राप्त करें । यह उपकरण -> एक्सटेंशन और अपडेट का उपयोग करके सीधे विजुअल स्टूडियो से इंस्टॉल किया जा सकता है

  3. टूल -> विकल्प -> OpenCover.UI विकल्प -> सामान्य का उपयोग करके, उचित निष्पादन योग्य का उपयोग करने के लिए OpenCoverUI को कॉन्फ़िगर करें।

नुनीत पथ: `nunit-कंसोल.exe फ़ाइल को इंगित करना चाहिए। यह केवल NUnit 2.xx संस्करण के भीतर पाया जा सकता है, जिसे यहाँ से डाउनलोड किया जा सकता है

OpenCover पथ : यह आमतौर पर स्थापित पैकेज को इंगित करना चाहिए<solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe

  1. ReportGenerator NUGet पैकेज स्थापित करें

  2. पहुंच OpenCover Test ExplorerOpenCover मेनू से । वहां से परीक्षणों की खोज करने की कोशिश करें। यदि यह विफल रहता है, तो अधिक विवरण के लिए आउटपुट विंडो जांचें।

  3. अधिक विवरण के लिए OpenCover परिणाम (OpenCover मेनू के भीतर) की जाँच करें। यह एक पेड़ आधारित दृश्य में कोड कवरेज जैसे विवरण का उत्पादन करेगा। आप उस कोड को भी हाइलाइट कर सकते हैं जो कवर नहीं किया गया है (ऊपर-बाएँ में छोटा आइकन)।

ध्यान दें: जैसा कि उल्लेख किया गया है, OpenCoverUI NUnit (3.xx) के नवीनतम प्रमुख संस्करण का समर्थन नहीं करता है। हालाँकि, अगर परीक्षण के भीतर इस संस्करण के लिए कुछ भी उपयोग नहीं किया जाता है, तो यह NUnit 3.xx संस्करण को स्थापित किए बिना, बिना किसी समस्या के काम करेगा।

यह त्वरित शुरुआत को कवर करता है। जैसा कि टिप्पणियों में पहले ही उल्लेख किया गया है, अधिक उन्नत कॉन्फ़िगरेशन और स्वचालन के लिए इस लेख की जांच करें।


11
एक्सटेंशन वीएस 2019 समुदाय पर काम नहीं करता है। क्या अफ़सोस है
निकोलस्कॉलमैन


3

विजुअल स्टूडियो कम्युनिटी 2019 में एक आसान समाधान की तलाश में किसी के लिए, फाइन कोड कवरेज सरल है, लेकिन यह अच्छी तरह से काम करता है।

यह सटीक कवरेज पर सही संख्या नहीं दे सकता है, लेकिन यह बताएगा कि कौन सी लाइनें हरे / लाल गटर से ढकी हुई हैं।


यह एक अच्छा संकेत है। हालाँकि, यह केवल .NET कोर के साथ काम करता है।
अलेक्सी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.