विज़ुअल स्टूडियो 2012 को मेरे परीक्षण क्यों नहीं मिले?


221

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

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

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

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

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


इसका अनुसरण करने का भी प्रयास करें: 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");
        }
    }
}

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


कौन सा संस्करण VS 2012? आप TestDriven.Net की तरह एक परीक्षण धावक डाउनलोड कर सकते हैं या Resharper में एक है।
ब्रेट एलेड

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

कृपया फ्रेमवर्क संस्करण और यूनिटटैस्टिंग लाइब्रेरी संस्करण साझा करें जिसे आपने संदर्भ के रूप में जोड़ा है
आदिल

5
मेरे मामले में app.config फ़ाइल को हटाने से यूनिट टेस्ट एक्सप्लोरर
क्रिस रिचनर

4
आउटपुट विंडो में 'टेस्ट' श्रेणी के तहत त्रुटियों की तलाश करें। मैं रिलीज़ बिल्ड से कार्यात्मक परीक्षण बनाता हूं और जब मैं डिबग बिल्ड (जिसका डीएलएस एक अलग फ़ोल्डर संरचना में स्थित होता है) का उपयोग करके डीबग करने का प्रयास करता हूं, तो मुझे कोई बिल्ड त्रुटि नहीं मिलती है, लेकिन पुल डाउन मेनू से परीक्षण के तहत देखना होगा। एक बार जब मैं उन को हल करता हूं, तो परीक्षण एक्सप्लोरर में दिखाई देने लगते हैं
gDexter42

जवाबों:


227

मेरे पास एक ही लक्षण थे, लेकिन विभिन्न परिस्थितियों में।

मुझे पीटर लैम्बबर्ग के समाधान के लिए एक अतिरिक्त कदम जोड़ना पड़ा - अपने समाधान / परियोजना को साफ़ करें।

मेरा unittest प्रोजेक्ट x64 को लक्षित करता है। जब मैंने प्रोजेक्ट बनाया तो यह मूल रूप से x86 को लक्षित कर रहा था।

X64 पर स्विच करने के बाद मेरे सभी यूनिट परीक्षण गायब हो गए।

मुझे टेस्ट मेनू में जाना था -> टेस्ट सेटिंग -डिफॉल्ट प्रोसेसर आर्किटेक्चर -> x64।

वे अब भी नहीं दिखा।

एक निर्माण किया।

फिर भी नहीं दिखा।

अंत में क्लीन किया

फिर उन्होंने दिखाया।

मैं क्लीन सॉल्यूशन और क्लीन को ढूंढता हूं जब सेटिंग बदल गई है तो बॉल खेलने के लिए सॉल्यूशन काफी उपयोगी है। कभी-कभी मुझे चरम पर जाना पड़ता है objऔर binनिर्देशिकाओं को हटाना और पुनर्निर्माण करना पड़ता है।


सफाई करते समय कभी-कभी मदद मिलती है, यह मुद्दा नहीं है। मुझे नेटवर्क ड्राइव पर प्रोजेक्ट्स की समस्या है। और तथ्य यह है कि निर्माण कभी भी मदद करता है बस एक छोटी गाड़ी बनाने के उपकरण का एक लक्षण है।
ctrl-alt-delor

7
वाह! "क्लीन सोल्यूशन" वास्तव में काम करने लगता है (जैसा कि सिर्फ एक पुनर्निर्माण के विपरीत)। मैंने सोचा कि यह विजुअल स्टूडियो 6.0 में एक उपयोगी हैक वापस बंद हो रहा है!
डेव

"क्लीन" ने मेरे सहकर्मी के लिए काम नहीं किया जिनके पास यह मुद्दा था। यह उसके TFS कार्यक्षेत्र से सभी स्रोत कोड को हटाने, और नवीनतम (w / अधिलेखित) प्राप्त करने के बाद उसके लिए काम किया। फिर यह महान काम किया!
माइकल आर

2
यह मेरे लिए था। X86, किसी भी CPU, x64 के मिश्रण के साथ एक समाधान में, एक विशेष परियोजना के परीक्षण नहीं मिल रहे थे। मैंने समाधान को साफ किया, परीक्षण सेटिंग की डिफ़ॉल्ट वास्तुकला को बदल दिया, और फिर से बनाया गया और फिर सब कुछ देखा जा सकता था। यह वास्तव में कोई मतलब नहीं है, क्योंकि एक अलग सीपीयू वास्तुकला के तहत संकलित वास्तुकला की खोज के परीक्षणों को बदलना।
बेन एच

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

160

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

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

24
यह मेरे लिए था, लगभग शर्मनाक मैं अपने दम पर नहीं मिला :)
Landi

5
मुझे भी यह समस्या थी, [TestMethod]अन्य कोड की कॉपी-पेस्ट के कारण मेरा स्थिर होने के कारण था ।
Seph

2
@ सिफ: मेरा [TestMethod]जहां स्थिर है क्योंकि वही है जो UserTest1.csनई परीक्षा परियोजना में था! मेरी समस्या का भी समाधान किया।
आंद्रे लुस

4
इसके अलावा staticअपनी विधि के सामने मत रखो । मुझे नहीं पता कि मैं ऐसा क्यों करता हूं।
लेविनिन्जा

1
यह मेरे लिए किया, दिलचस्प है कि आप किसी चीज़ पर इतना समय कैसे खो सकते हैं जो इतना स्पष्ट होना चाहिए था। जवाब के लिए धन्यवाद जो राजा
थुलानी चिवंडिक्वा

58

यह कभी-कभी काम करता है।

जाँच करें कि टेस्ट मेनू के तहत प्रोसेसर आर्किटेक्चर आपके द्वारा उपयोग किए गए समाधान से मेल खाता है।

परीक्षण -> परीक्षण सेटिंग्स -> डिफ़ॉल्ट प्रोसेसर वास्तुकला -> x86 / x64

जैसा कि अन्य पोस्ट में बताया गया है, सुनिश्चित करें कि आपके पास टेस्ट एक्सप्लोरर विंडो खुली है। टेस्ट -> विंडोज -> टेस्ट एक्सप्लोरर

फिर परीक्षणों के साथ परियोजना का पुनर्निर्माण करना चाहिए ताकि परीक्षण एक्सप्लोरर में दिखाई दे।

संपादित करें: जैसा कि Ourjamie ने नीचे बताया है, एक साफ निर्माण करने से भी मदद मिल सकती है। इसके अलावा, यहाँ एक और बात है जिसका मैंने सामना किया है:

"बिल्ड" चेकबॉक्स कॉन्फ़िगरेशन प्रबंधक में समाधान के तहत बनाई गई एक नई परीक्षण परियोजना के लिए अप्रयुक्त था।

निर्माण -> कॉन्फ़िगरेशन प्रबंधक पर जाएं। सुनिश्चित करें कि आपके परीक्षण प्रोजेक्ट ने सभी समाधान कॉन्फ़िगरेशन और समाधान प्लेटफार्मों के लिए चेकबॉक्स का निर्माण किया है।


हाँ ये अन्य कारण हो सकते हैं कि यह काम नहीं करेगा, लेकिन नीचे टिक जवाब देखें कि यह मेरे लिए काम क्यों नहीं करता है। (साझा किए गए फ़ोल्डर डिफ़ॉल्ट रूप से अक्षम हैं), अगर आप हमें बता सकते हैं कि इसे कैसे बदलना है तो मैं आपको कुछ बिंदु बताऊंगा।
ctrl-alt-delor-

X64 जैसा कोई प्रोसेसर नहीं है, लेकिन मैं बात करता हूं कि Microsoft इस शब्द का उपयोग x86-64 / amd64 / x86e के लिए करता है। कोई x86 भी नहीं है, बस x86 परिवार है। एक्स अज्ञात के लिए खड़ा है, इसलिए x64 परिवार के सदस्य 164, 264, 364… या x86 एक 86 बिट प्रोसेसर होंगे।
ctrl-alt-delor-

आपके उत्तर के लिए धन्यवाद, यह मेरी मदद करता है (मैं x86 बिल्ड से x64 बिल्ड पर स्विच करता हूं)
इंगर्रन

यहां तक ​​कि वीएस 2015 में टेस्ट एक्सप्लोरर विंडो ओपन काम किया। खुशी है कि मैं कमांड लाइन से टेस्ट भी चला सकता हूं।
ब्रायन

32

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

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

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


1
इसके अलावा NuGet के माध्यम से उपलब्ध हैInstall-Package NUnitTestAdapter
डैरेन हेल

धन्यवाद @ डारेनहेल। NuGet में इस पैकेज की खोज करते समय, मुझे NUnit TestAdapter नाम का एक बंडल भी मिला, जिसमें NUnit 2.6.4 फ्रेमवर्क शामिल था
किरण

18

मेरे हाल के अनुभव में उपरोक्त सभी काम नहीं किए। मेरी परीक्षा विधि

public async void ListCaseReplace() { ... }

दिखाई नहीं दे रहा था लेकिन ठीक संकलन कर रहा था। जब मैंने asyncकीवर्ड को हटाया तो टेस्ट एक्सप्लोरर में दिखाया गया। यह async voidएक 'अग्नि- विस्मृत ' विधि है। विधि बनाओ async Taskऔर आप अपना परीक्षण वापस ले लेंगे!

इसके अलावा, "बिल्ड" के लिए टेस्ट प्रोजेक्ट के कॉन्फ़िगरेशन सेट नहीं होने से परीक्षणों को दिखाने से भी रोका जा सकेगा। कॉन्फ़िगरेशन प्रबंधक> अपने परीक्षण की जाँच करें।


2
यह पता लगाने के लिए मुझे अच्छा लगा। मैंने कुछ तरीकों को async होने के लिए रिफैक्ट किया और परीक्षण में केवल कीवर्ड जोड़ा। यह केवल तब था जब मैंने इसके साथ एक नई इकाई परीक्षण को कोडित किया था, मैंने देखा कि अन्य परीक्षण भी गायब थे। मुझे यह उत्तर मिला जो बताता है कि ऐसा क्यों होता है।
जुलीगॉन

12

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

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

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

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

 caspol -lg

यह उत्तर प्रश्नकर्ता द्वारा असत्यापित है, क्योंकि मुझे अब उत्तर में कोई दिलचस्पी नहीं है। यदि यह आपके लिए काम करता है (या नहीं), तो नीचे एक टिप्पणी जोड़ें।
ctrl-alt-delor

6
@richard तो आप एक ऐसे उत्तर को स्वीकार करते हैं जिसे आपने सत्यापित नहीं किया और आपकी समस्या के विभिन्न कारणों के समाधानों का वर्णन करने वाले अन्य उत्तरों को रद्द कर दिया? ....वह अजीब है!
स्टेफान बाउर

1
यह मेरे लिए समस्या है, लेकिन समाधान नहीं है। मैंने सब कुछ स्थानीय कर दिया और सभी परीक्षण मिल गए! धन्यवाद!
ट्रैविस स्विनटेक

1
CasPol.exeके तहत पाया जा सकता है %windir%\Microsoft.NET\Framework[64]\[version]। सत्यापित करें कि आप उचित वास्तुकला के लिए नीति निर्धारित कर रहे हैं। स्रोत: msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.100%29.aspx
EpicVoyage

मेरे लिए भी यही समस्या थी। इतना कष्टप्रद कि वीएस ने उन्हें नहीं उठाया, लेकिन कारण के रूप में शून्य संकेत दिया!
kaybee99

10

एक समस्या मुझे मिली है कि परीक्षण एक्सप्लोरर में नहीं मिलता है (कुछ भी नहीं दिखाता है) यदि समाधान नेटवर्क ड्राइव / नेटवर्क स्थान / साझा ड्राइव से चल रहा है।

आप इसे एक पर्यावरण चर जोड़कर ठीक कर सकते हैं।

COMPLUS_LoadFromRemoteSources और इसका मान 1 पर सेट करें


6

मुझे एक ही समस्या थी .. मेरे मामले में यह एक निजी संपत्ति के कारण हुआ था TestContext

इसे निम्नलिखित में बदलने में मदद मिली:

public TestContext TestContext
{
    get;
    set;
}

समाधान की सफाई और निर्माण के बाद (जैसा कि @Ourjamie के उत्तर में वर्णित है), प्रभावित परीक्षण वर्ग में परीक्षण विधियाँ टेस्ट एक्सप्लोरर में उपलब्ध थीं।


ठीक इसी तरह के लक्षण, इसलिए डाउन-वोट को हटा देंगे, यदि आप स्पष्ट करते हैं कि आपने क्या बदला (किस से)।
सीटीएल-अल्ट-डेलोर

1
मेरे पास बिल्कुल ऐसा ही था, मैंने पूरे धागे का पालन किया, फिर इस पर आया और मुझे इसे सार्वजनिक करने के लिए विचार के लिए लाया, बिंगो: मेरे नए परीक्षण दिखाई दिए। मैं पिछली टिप्पणियों को समझता हूं लेकिन ... चूंकि यह हमें Google से लाता है ... यह पढ़ने के लिए धागा है जब परीक्षण दिखाई नहीं देते हैं।
एडलवाटर

1
यह मेरी समस्या का कारण था। मेरे पास निजी क्षेत्र के रूप में निर्भरता इंटरफ़ेस के लिए एक क्षेत्र था। आप एक जीवन रक्षक है!
एलेक्स

6

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

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

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


6

कुछ सामान्य परीक्षण समस्याओं को हल करने के लिए त्वरित जांच सूची। निश्चित करें कि:

  1. टेस्ट क्लास और टेस्ट के तरीके हैं public
  2. टेस्ट क्लास में [TestClass]विशेषता है
  3. परीक्षण विधियों में [TestMethod]विशेषता है

यदि यह मदद नहीं करता है, तो सफाई की कोशिश करें, समाधान का पुनर्निर्माण करें और विज़ुअल स्टूडियो को पुनरारंभ करें।


यह इस सवाल के अधिकांश आगंतुकों की समस्याओं को ठीक करेगा, और अधिकांश उत्तरों को संक्षेप में प्रस्तुत करेगा, हालांकि यह प्रश्न में समस्या को कवर नहीं करता है।
सीटीएल-अल्ट-डेलोर

1
धन्यवाद। UTA001: TestClass attribute defined on non-public class
जारेक प्रोजगोडकी

6

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

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

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


3
मेरे लिए भी काम किया! मुझे लगता है कि यह एक अलग मुद्दा है।
जस्टिन मॉर्गन

2
अरे ये काम करता है यार। आपका बहुत-बहुत धन्यवाद .. प्रशासक के रूप में बिना काम किए इसे बनाने के लिए कोई समाधान?
श्रीराम साक्षात्वल

2
क्षमा करें, मुझे नहीं लगता कि व्यवस्थापक के रूप में चलना एक अच्छा समाधान है। जब तक सबूत नहीं है कि यह एकमात्र तरीका है।
सीटीएल-अल्ट-डेलोर

व्यवस्थापक के रूप में चलाना आमतौर पर कोई बड़ी समस्या नहीं है। लेकिन एक समस्या यह है कि आप Workitem को आउटलुक में नहीं भेज सकते।
एडवर्ड ओलामिसन

अपने उत्तर को संबंधित SO पोस्ट से लिंक करने के लिए संपादित करें, आशा है कि आपको कोई आपत्ति नहीं है। मैं हालांकि श्रीराम और रिछार्ड से सहमत हूं। हालांकि यह काम करता है, यह एक समाधान है, न कि समाधान। क्यों यह भी काम करता है स्पष्ट नहीं लगता है।
स्टीवन ज्यूरिस

4

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

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

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


मुझे नहीं लगता कि यह वही समस्या है।
ctrl-alt-delor 20

3
मुझे लगता है कि यह एक ही समस्या है, यह सिर्फ कुछ और के कारण है।
स्टीफन बाउर

2

शीर्ष पर मेनू बार से ...

टेस्ट -> रन -> सभी टेस्ट

आप सभी परीक्षण एक्सप्लोरर (टेस्ट -> विंडोज -> टेस्ट एक्सप्लोरर) से भी देख सकते हैं

वीएस 2012 के साथ, अगर आपको कुछ भी याद आता है, तो इसे राइट दाईं ओर क्विक लॉन्च बार (Ctrl + Q) "टेस्ट" का उपयोग करके खोजने की कोशिश करें

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


मैंने कोशिश की कि, दोनों ननित के साथ काम करें। लेकिन इस बार मैं किसी और के परीक्षणों को चलाने की कोशिश कर रहा हूं Microsoft.VisualStudio.TestTools.UnitTesting, जो किसी भी विचार का उपयोग कर रहा है कि मैं और क्या कर रहा हूं?
सीटीएल-अल्ट-डेलोर

इससे कोई फर्क नहीं पड़ता ... कई बार ऐसा होता है कि यूनिट टेस्ट की खोज नहीं की जाती है ... इसलिए यदि यू ओपन टेस्ट एक्सप्लोरर और समाधान का निर्माण करते हैं, तो यह थोड़ी देर में यूनिट टेस्ट लाएगा ... मई यू पहले से ही पता है। ..
आदिल

2
मैं सिर्फ यह सुनिश्चित करना चाहता था कि आप एक एक्सप्रेस संस्करण का उपयोग कर रहे थे या एक जिसमें परीक्षण उपकरण शामिल नहीं थे। क्या आपने थर्ड पार्टी टेस्ट रनर स्थापित करने की कोशिश की है?
ब्रेट एलेड

2

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


मेरे मामले में app.config ने यूनिट टेस्ट की उपस्थिति को भी मार दिया। App.config को हटाने और परीक्षण परियोजना के पुनर्निर्माण के बाद वे अंततः वापस आ गए थे!
क्रिस रिचनर

2

मेरे मामले में यह कुछ और था। मैंने एक पैकेज स्थापित किया था और फिर इसे अनइंस्टॉल कर दिया और एक पुराने संस्करण को फिर से स्थापित किया। यह configuration/runtime/asssemblyBinding/dependencyIdentityमेरे app.config में एक अवशिष्ट पुनर्निर्देशन छोड़ दिया है । मुझे इसे सही करना था। मैंने Outputखिड़की से देखकर और Testsड्रॉप डाउन में " " का चयन करके यह पता लगाया । त्रुटि संदेश था। यह एक दर्द था ... मुझे आशा है कि यह किसी और की मदद करता है।


2

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

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

आशा है कि यह किसी की मदद करता है।


2

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


2

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

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

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


@srebella अच्छा है कि आपने इस मुद्दे को हल कर दिया। मैंने इसे सुलझाने के लिए दिन बिताए। Pls समुदाय के साथ अपने अनुभव को साझा करें। यदि आपको लगता है कि यह काम करता है तो कृपया इस उत्तर को शीर्ष पर रखें। धन्यवाद :-)
शिरन जयवर्धना

1

मैंने नवीनतम अपडेट में VS 2012 को अपडेट किया है। यानी विजुअल स्टूडियो अपडेट 3. मेरे लिए यह मुद्दा तय हो गया है।


1

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

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

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

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

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


1

Microsoft Visual Studio 2012 एक्सप्रेस से वेब के लिए Microsoft Visual Studio 2013 में मेरे समाधान को अपग्रेड करते समय मुझे यह समस्या थी।

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

    Failed to initialize client proxy: 
    could not connect to vstest.discoveryengine.x86.exe

मैंने यह भी देखा कि परीक्षणों को डिबग करने पर, यह विज़ुअल स्टूडियो 2012 का एक उदाहरण लॉन्च कर रहा था। इसने मुझे इस तथ्य से रूबरू कराया कि यूनिट टेस्ट प्रोजेक्ट अभी भी 2012 का संदर्भ दे रहा था। टेस्ट प्रोजेक्ट संदर्भ को देखते हुए मैंने महसूस किया कि यह गलत Microsoft विज़ुअल को लक्षित कर रहा था। Visual Studio के इस संस्करण के लिए स्टूडियो यूनिट टेस्ट फ्रेमवर्क DLL:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

मैंने संस्करण संख्या को 11.0 से 12.0 तक बदल दिया है:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

मैंने सभी को फिर से बनाया और इस मुद्दे को तय किया - सभी परीक्षण टेस्ट एक्सप्लोरर में पाए गए और अब सभी परीक्षण पाए जाते हैं और पूरी तरह से चल रहे हैं।


1

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


या sn -Vr *,<public key token>वीएस डेवलपर कमांड प्रॉम्प्ट में प्रशासक के रूप में अपने स्थानीय मशीन पर हस्ताक्षर की जांच को छोड़ दें
सिलास

1

VS2013 अल्टीमेट में नेटवर्क शेयर पर समाधान खोलने की कोशिश करते हुए मैंने यही समस्या रखी।

मैंने समस्या को चालू करके ठीक किया

नियंत्रण कक्ष -> इंटरनेट विकल्प -> "सुरक्षा" टैब -> "स्थानीय इंट्रानेट" पर क्लिक करें, साइटों पर क्लिक करें और सुनिश्चित करें कि "स्वचालित रूप से इंट्रानेट नेटवर्क का पता लगाएं" टिक है।


1

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


1

किसी भी असेंबली के लिए संदर्भित संदर्भित असेंबली की जाँच करें जिसमें "नकली" के लिए "स्थानीय कॉपी करें" हो सकता है।

यदि आपका परीक्षण प्रोजेक्ट इसका स्वयं का फ़ोल्डर बनाता है (उदाहरण के लिए बिन / डिबग) और प्रोजेक्ट किसी अन्य असेंबली पर निर्भर करता है और संदर्भ सूची में उन असेंबली में से एक को कॉपी लोकल = "गलत" के रूप में चिह्नित किया जाता है, तो असेंबली अनुपलब्धता के कारण लोड नहीं हो सकती है और आपके परीक्षण एक निर्माण के बाद लोड नहीं होंगे।


1

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

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

ठीक कर:

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

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

    ख। सूची स्थापित पैकेज

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

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

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

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

  4. ओपन टेस्ट> टेस्ट एक्सप्लोरर> ऑल रन

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

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


1

यहां किसी भी समाधान ने मेरी मदद नहीं की। एक समाधान के लिए परीक्षणों की खोज नहीं की जाएगी जबकि एक ही परियोजना को संदर्भित करने वाले दूसरे समाधान ने ठीक काम किया। मैंने आखिर में solutionname.v12.suo फ़ाइल को हटाकर इसे हल कर दिया है।


1

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

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

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

आशा है कि यह किसी दिन मदद करता है।


1

परीक्षण async विधियों को पसंद नहीं करते हैं। उदाहरण के लिए:

    [TestMethod]
    public async void TestMethod1()
    {
        TestLib oLib = new TestLib();
        var bTest = await oLib.Authenticate();

    }

ऐसा करने के बाद:

    [TestMethod]
    public void TestAuth()
    {
        TestMethod1();
    }

    public async void TestMethod1()
    {
        TestLib oLib = new TestLib();
        var bTest = await oLib.Authenticate();

    }

इसने परीक्षण को देखा।


एक बेहतर उत्तर है[Test] public void XamarinExampleTest() { // This workaround is necessary on Xamarin, // which doesn't support async unit test methods. Task.Run(async () => { // Actual test code here. }).GetAwaiter().GetResult(); }
रॉबर्ट ग्रीन एमबीए

3
"टेस्ट पसंद नहीं async तरीकों" है झूठी"टेस्ट async शून्य विधियों को पसंद नहीं करते हैं " यह सच है , और समाधान केवल परीक्षण पद्धति को async टास्क के रूप में घोषित करने के लिए है ।
मैसिमिलियानो क्रूस

1

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

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

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

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