[c#] विजुअल स्टूडियो 2012 को मेरे परीक्षण क्यों नहीं मिलते हैं?


Answers

कृपया कीवर्ड को अपनी कक्षा परिभाषा में जोड़ें। आपकी टेस्ट क्लास वर्तमान में अपनी असेंबली के बाहर दिखाई नहीं दे रही है।

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}
Question

मेरे पास कुछ परीक्षण हैं जो Microsoft.VisualStudio.TestTools.UnitTesting में निर्मित हैं। Microsoft.VisualStudio.TestTools.UnitTesting , लेकिन उन्हें चलाने के लिए नहीं मिल सकता है।

मैं विजुअल स्टूडियो 2012 परम का उपयोग कर रहा हूं।

मेरे पास दो परियोजनाओं का समाधान है; using Microsoft.VisualStudio.TestTools.UnitTesting , using Microsoft.VisualStudio.TestTools.UnitTesting [TestClass] , [TestClass] कक्षा से पहले, [TestMethod] परीक्षण विधियों से पहले और संदर्भ Microsoft.VisualStudio.QualityTools.UnitTestFramework (संस्करण 10.0.0.0, रनटाइम संस्करण v2.0.50727)। मैंने डॉट-नेट फ्रेमवर्क 3.5, 4 और 4.5 अन्य लोगों को पुनः-लक्ष्यीकरण त्रुटि देने का प्रयास किया है।

मैंने समाधान और परियोजना बनाने की कोशिश की है। टेस्ट एक्सप्लोरर के पास संदेश उपलब्ध है 'सभी उपलब्ध परीक्षणों को खोजने के लिए अपना समाधान बनाएं। अपने समाधान में सभी परीक्षणों को बनाने, खोजने और चलाने के लिए "सभी चलाएं" पर क्लिक करें।

तो सवाल यह है कि: परीक्षणों को खोजने के लिए मुझे विजुअल स्टूडियो कैसे प्राप्त किया जाए?

इसका पालन करने का भी प्रयास किया है: http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx लेकिन बिना किसी सफलता के: मैं अनुभाग शुरू होने में फंस गया, जब पूछा गया राइट क्लिक करें और create tests चुनें। कोई create tests

मेरे पास यह परीक्षण है (यह संकलित करता है, लेकिन परीक्षण एक्सप्लोरर में दिखाई नहीं देता है):

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

अब मैंने पाया है (नीचे हटाए गए उत्तर देखें) क्योंकि ऐसा इसलिए है क्योंकि यह एक साझा ड्राइव पर है, लेकिन मुझे अभी तक पता नहीं है कि इसके आसपास कैसे जाना है। (शायद सुरक्षा सेटिंग के बारे में कुछ)।




नेटवर्क शेयर पर समाधान खोलने की कोशिश करते समय मैं एक ही मुद्दे में भाग गया। इस मामले में टेस्ट एक्सप्लोरर द्वारा कोई यूनिट टेस्ट नहीं मिलेगा। समाधान यह साबित होता है:

नियंत्रण कक्ष -> इंटरनेट विकल्प -> "सुरक्षा" टैब -> "इंट्रानेट" पर क्लिक करें और "साइट्स" सूची में नेटवर्क शेयर धारण करने वाला सर्वर आईपी पता या होस्ट नाम जोड़ें।

ऐसा करने के बाद, मैंने समाधान को दोबारा संकलित किया और अब परीक्षण सामने आए। यह @BigT द्वारा किए गए उत्तर के समान होना चाहिए।




ये सभी महान उत्तर हैं, लेकिन एक और कारण है जिसे मैं जानता हूं; मैं बस इसमें भाग गया। मेरे परीक्षणों में से एक में मेरा एक रिशेपर संदेश था जो दर्शाता था कि मेरे पास एक अप्रयुक्त निजी वर्ग था। यह एक कक्षा थी जिसे मैं आगामी परीक्षण में उपयोग करने जा रहा हूं। यह वास्तव में मेरे सभी परीक्षण गायब होने का कारण बन गया।




ऐसा लगता है कि न्यूटिट फ्रेमवर्क 2.6.4 एनयूनीट टेस्ट एडाप्टर के साथ अच्छी तरह से काम नहीं करता है। वेबसाइट में यह उल्लेख करता है कि टेस्ट एडाप्टर केवल एनयूनीट फ्रेमवर्क 2.6.3 के साथ काम करेगा।

यह मेरी समस्या थी: 1. मैंने VS2012 में Nuget के माध्यम से अलग से NUnit और NUnit टेस्ट एडाप्टर डाउनलोड किया था। किसी भी तरह NNnit को 2.6.4 में अपडेट किया गया अचानक मुझे सूचीबद्ध मेरे टेस्ट केस नहीं दिखाई दिए।

ठीक कर:

  1. Nuget और Nuget टेस्ट एडाप्टर अनइंस्टॉल करें

    ए। टूल्स> Nuget> Nuget Pkg प्रबंधक> समाधान के लिए Nuget Pkg प्रबंधित करें पर जाएं

    ख। स्थापित संकुल सूचीबद्ध करें

    सी। प्रबंधन पर क्लिक करें

    घ। अपनी परियोजनाओं को अनदेखा करें

  2. NUnit 2.6.3 फ्रेमवर्क सहित NUnit परीक्षण एडाप्टर स्थापित करें

  3. स्वच्छ / पुनर्निर्माण समाधान

  4. ओपन टेस्ट> टेस्ट एक्सप्लोरर> सभी को चलाएं

मैं सभी परीक्षण मामलों को देखता हूं

उम्मीद है की यह मदद करेगा




मुझे एक ही समस्या थी, लेकिन थोड़ा अलग था।

मैं विजुअल स्टूडियो 2012 का उपयोग कर रहा था। किसी कारण से, प्रारंभिक जेनरेट की गई फ़ाइल का केवल परीक्षण चल रहा था। लेकिन दूसरी फाइल में परीक्षण नहीं चल रहे थे। यहां पोस्ट किए गए विभिन्न समाधानों का प्रयास किया, काम नहीं किया।

अंततः मुझे पता चला कि मेरे पास टेस्ट क्लास में एक निजी विधि थी जो कक्षा के अंदर पहली विधि थी। मैंने परीक्षण विधि के बाद निजी विधि को स्थानांतरित कर दिया; तो अब, [TestMethod] विशेषता वाला एक तरीका कक्षा के अंदर पहली विधि है। अजीब, लेकिन अब यह काम करता है।

उम्मीद है कि यह किसी दिन किसी की मदद करता है।




जांचें कि आपकी टेस्ट प्रोजेक्ट केवल आपके प्रोजेक्ट गुणों में विलंब चिह्न पर सेट नहीं है -> साइनिंग। यदि ऐसा है, तो इसे अचयनित करें और एक स्वच्छ पुनर्निर्माण करें।




मुझे कभी-कभी वही लक्षण मिलते हैं।

मैंने क्या किया है:
1. टेस्ट एक्सप्लोरर विंडो बंद कर दिया
2. समाधान साफ ​​किया
3. समाधान पुनर्निर्माण
4. टेस्ट से पुन: लॉन्च टेस्ट एक्सप्लोरर विंडो -> विंडोज़ -> टेस्ट एक्सप्लोरर।

और मुझे टेस्ट एक्सप्लोरर विंडो में मेरा टेस्ट मिला।




मेरे लिए समाधान थोड़ा सा जटिल था।

मैंने अभी अपनी मशीन (गिटहब से क्लोन) पर एक मौजूदा समाधान लाया था और हम विजुअल स्टूडियो द्वारा बनाई गई ऑटो-जेनरेट की गई .cs फ़ाइलों को ट्रैक नहीं करते हैं। (प्रत्येक फीचर फ़ाइल के लिए एक ही नाम के साथ एक .cs फ़ाइल है)

संबंधित .cs फ़ाइलों के बिना समाधान खोलना वास्तव में मुझे बाध्य तरीकों पर नेविगेट करने की इजाजत देता है, इसलिए ऐसा लगता है जैसे specflow ठीक से तारित किया गया था, लेकिन मैं टेस्ट एक्सप्लोरर में परीक्षण नाम देखने में सक्षम नहीं था।

इस समस्या के लिए बस परियोजना से फीचर फाइलों को छोड़कर और फिर उन्हें फिर से शामिल करने के लिए, मजबूर वीएस इन ऑटो जेनरेट की गई कोडबेइंड फाइलों को पुन: उत्पन्न करने के लिए मजबूर कर दिया।

उसके बाद, मैं परीक्षण एक्सप्लोरर में परीक्षण देखने में सक्षम था।




जब मैं एक अलग पीसी में समाधान बनाने की कोशिश करता हूं तो मैं कई बार इस मुद्दे का सामना कर रहा था।

मैं NUnit और Specflow का भी उपयोग कर रहा हूं। डिफ़ॉल्ट रूप से मेरा परीक्षण प्रोजेक्ट X86 को लक्षित करता है लेकिन मुझे इसे X64 में बदलना है। चरण हैं 1. टेस्ट मेनू -> टेस्ट सेटिंग -डिफॉल्ट प्रोसेसर आर्किटेक्चर -> x64। 2. स्वच्छ निर्माण 3. बिल्ड 4. यदि अभी भी परीक्षण नहीं दिखाया गया था। 5. उपकरण  एक्सटेंशन और अपडेट पर जाएं, फिर NUnit और Specflow लाइब्रेरीज़ इंस्टॉल करें 6. क्लीन बिल्ड 7. बिल्ड करें

फिर आमतौर पर परीक्षण टेस्ट संपादक में दिखाया जाएगा।




मुझे त्रुटि मिल रही थी: "Failed to initialize client proxy: could not connect to vstest.discoveryengine.exe."

विजुअल स्टूडियो को प्रशासक के रूप में चलाने का प्रयास करें। यह मेरे लिए काम किया।

इस त्रुटि पर चर्चा करने वाली एक और स्टैक ओवरफ़्लो पोस्ट है , और वही समाधान उनके लिए काम करता है। प्रश्न यह बनी हुई है कि यह क्यों काम करता है।




चूंकि प्रोजेक्ट एक साझा ड्राइव पर है क्योंकि मूल पोस्टर ने संकेत दिया है। VS.NET को आपके स्थान असेंबली को लोड करने और चलाने से पहले नेटवर्क स्थान पर भरोसा करने की आवश्यकता है। इस ब्लॉग पोस्ट का एक पठन है

नेटवर्क शेयर की चीजों को लोड करने के लिए VS.NET को अनुमति देने के लिए किसी को विश्वसनीय स्थानों पर उन्हें (शेयर) जोड़ने की आवश्यकता है। एक पूर्ण ट्रस्ट सूची में स्थान जोड़ने के लिए (स्पष्ट रूप से आपके पर्यावरण के लिए आवश्यक रूप में संशोधन करें):

 caspol -m -ag 1.2 -url file:///H:/* FullTrust

मौजूदा विश्वसनीय स्थानों को सत्यापित या सूचीबद्ध करने के लिए:

 caspol -lg



मुझे इस समस्या का निवारण करने का सबसे अच्छा तरीका एक .proj msbuild फ़ाइल बनाने और अपनी यूनिट परीक्षण परियोजनाओं को जोड़ने के लिए मिला है, जिन्हें आप इस फ़ाइल में कोई समस्या नहीं रखते हैं और mstest के कमांड लाइन संस्करण का उपयोग करके परीक्षण निष्पादित करते हैं। मुझे अपने ऐप.कॉन्फिग में एक छोटा कॉन्फ़िगरेशन समस्या मिली जो केवल तभी दिखाई दे रही थी जब परीक्षण से चल रहा था - अन्यथा परीक्षण परियोजना ठीक से बनाई गई थी। इसके अलावा आपको इस विधि के साथ कोई अप्रत्यक्ष संदर्भ समस्या भी मिल जाएगी। एक बार जब आप मिस्टेस्ट का उपयोग कर कमांड लाइन से यूनिट टेस्ट चला सकते हैं तो आप एक क्लीन समाधान कर सकते हैं, समाधान पुनर्निर्माण कर सकते हैं और आपका परीक्षण ठीक से खोजा जाना चाहिए।




यह उन लोगों की मदद करने के लिए है जो ओपी के प्रश्न का उत्तर देने के बजाय यहां खत्म होते हैं:

दृश्य स्टूडियो को बंद करने और फिर से खोलने का प्रयास करें, मेरे लिए चाल है।

उम्मीद है कि यह किसी की मदद करता है।




मेरे पास विजुअल स्टूडियो 2012 है और मैं टेस्ट एक्सप्लोरर में टेस्ट नहीं देख सका,

तो मैंने निम्नलिखित स्थापित किया: NUnit टेस्ट एडाप्टर

यह मेरे लिए मुद्दा तय किया!




इसके लिए मेरा जवाब जोड़ना इसके लिए Google पर शीर्ष परिणाम है।

मैं विजुअल स्टूडियो 2015 का उपयोग कर रहा हूं और (अनजाने में - मैंने अभी Install-Package NUnit एनयूनीट चलाया) ने मेरे परीक्षण प्रोजेक्ट में NUnit3 पैकेज NuGet स्थापित किया। मेरे पास पहले से ही एनयूनीट टेस्ट एडाप्टर एक्सटेंशन स्थापित है, और मेरे परीक्षण अभी भी दिखाई नहीं दे रहे थे।

उपकरण> एक्सटेंशन और अपडेट के माध्यम से NUnit3 टेस्ट एडाप्टर को स्थापित करने के लिए यह मेरे लिए तय किया गया है।






Related