विज़ुअल स्टूडियो 2013 इकाई परीक्षणों की खोज नहीं करता है


146

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

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

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

यूनिट परीक्षणों के निर्माण के लिए मैं dll Microsoft.VisualStudio.QualityTools.UnitTestFramework का उपयोग करता हूं। दृश्य स्टूडियो का मेरा संस्करण है: वेब संस्करण 12.0.30723.00 अद्यतन के लिए Microsoft विज़ुअल स्टूडियो एक्सप्रेस 2013। मेरा .net फ्रेमवर्क का संस्करण 4.5.50938 है।

मेरे सभी परीक्षण इस प्रकार हैं:

[TestClass] 
public class Service1Test 
{ 
    [TestMethod] 
    public void Test1() 
    {
        Assert.IsTrue(True); 
    } 
}

2
क्या ये Async आधारित यूनिट परीक्षण हैं?
जेमी कीलिंग

यह निश्चित नहीं था कि मुद्दा क्या था, लेकिन प्रशासक के रूप में चलने से मेरे लिए यह मुद्दा तय हो गया।
श्रीराम सक्तीवेल

सभी सिंक आधारित इकाई परीक्षण
मिगेलबगौविया

2
क्या आपने एक बाहरी परीक्षण-धावक (जैसे रीशरपर्स या NCrunch) की कोशिश की है? हो सकता है कि आपका इंस्टॉल खराब हो गया हो (इसलिए VS को पुनर्स्थापित करें)
Carsten

1
इनमें से किसी ने भी मेरे लिए इस मुद्दे को तय नहीं किया :( क्या आपदा है। मैंने NUnit छोड़ दिया है और UnitTestFramework पर भरोसा कर रहा हूं - विचित्र रूप से ओपी से विपरीत समस्या
एडम

जवाबों:


210

कुछ चीजें जिन पर मैंने गौर किया है, उन्हें ठीक से दिखाने के लिए समय-समय पर परीक्षण करवाने पड़ते हैं।

  1. यदि आपका समाधान एक संरक्षित ड्राइव में है जिसे आपको पढ़ने / लिखने के लिए व्यवस्थापक पहुंच की आवश्यकता है, तो कभी-कभी परीक्षणों का एक हिस्सा ही सामने आता है। उस मामले में प्रशासक के रूप में निश्चित रूप से वी.एस.

  2. यदि आपका समाधान 64 बिट है, तो सुनिश्चित करें कि टेस्ट> टेस्ट सेटिंग्स> डिफ़ॉल्ट प्रोसेसर आर्किटेक्चर x64 पर सेट है। कभी-कभी यह x86 पर सेट हो जाता है। इसे x64 पर सेट करें, फिर पुनर्निर्माण करें।

  3. कभी-कभी सिर्फ विजुअल स्टूडियो को रीस्टार्ट करने से ट्रिक आ जाती है क्योंकि टेस्ट एक्सप्लोरर फिर से शुरू हो जाएगा।

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

  5. सुनिश्चित करें कि परीक्षण publicआपके परीक्षण वर्ग के एक हिस्से में हैं


34
मुझे लगता है कि इस उत्तर में थोड़ी देर है, लेकिन मेरी Google खोज ने मुझे यहां लाया, और कुछ भी उल्लेख नहीं किया जिससे मेरी समस्या हल हो गई। आखिरकार मुझे पता चला कि यह मेरी सूची में # 2 था, इसलिए मैं उस ज्ञान को छोड़ना चाहता था, साथ ही अन्य चालें जो मैंने समय के साथ उठाई हैं।
एंडीज

7
# 2 और # 3 के संयोजन ने मेरे लिए यह किया। विजुअल स्टूडियो ने मेरे समाधान में कई (गैर-परीक्षण) परियोजनाओं के बारे में शिकायत की, जिन्हें परीक्षण खोज कदम से बाहर रखा गया था क्योंकि वे x86 के लिए बनाए गए थे, लेकिन यह ठीक था।
नैट बारबेटिनी

4
मैंने पाया कि मेरी सेटिंग्स सभी सही थीं और पुनः आरंभ करने से काम नहीं चला। मेरे लिए समस्या क्या थी, बस समाधान का निर्माण करना था। मुझे पता है कि यह गूंगा लग सकता है लेकिन यह स्पष्ट नहीं है कि यह आवश्यक है; मैंने इस चरण का उल्लेख करने वाले किसी भी आधिकारिक दस्तावेज़ को नहीं देखा है।
user1807768

6
मुझे VS2015 में भी यही समस्या थी। # 2 ने मेरे लिए समस्या तय कर दी।
mcolegro

2
मुझे नहीं पता कि लोग किसी उत्पाद के लिए इतना पैसा क्यों देते हैं जो इतनी बार विफल हो जाता है। मुझे अपना परीक्षण अपग्रेड करने से पहले 2015 में अपनी परियोजना को अपग्रेड करना था और # 3 2 बार करना था।
मैथ्यू होगन

81

यदि आप NUnit का उपयोग कर रहे हैं, तो पहले NUnit एडाप्टर डाउनलोड करना सुनिश्चित करें।

टूल → एक्सटेंशन और अपडेट पर जाएं ... → ऑनलाइन → "NUnit टेस्ट एडॉप्टर" के लिए खोजें।


2
मैं Microsoft से UnitTests का उपयोग कर रहा हूं। इस मामले में मुझे लगता है कि कुछ भी स्थापित करना आवश्यक नहीं है।
मिगेलबगौविया

1
यह मेरे लिए यह किया - बहुत बाध्य है।
माटस वैटकेविसियस

उसने मेरे लिए इसे हल कर दिया। धन्यवाद।
jjthebig1

समस्या के समाधान के रूप में अपडाउन किया गया लेकिन क्या NUnit एडॉप्टर होना आवश्यक है या NUnit आउट-द-बॉक्स के साथ Visual Stdio काम करना चाहिए।
ओवेन ग्लाइंड्र

आप देव सर हैं।
नॉक्स

61

सुनिश्चित करें कि आपकी परीक्षा कक्षा है publicइसलिए इसे पाया जा सकता है। और यदि आप दूसरी कक्षा को संदर्भित कर रहे हैं, तो सुनिश्चित करें।

इसके अलावा, कभी-कभी यदि आपके पास कोई आवेषण नहीं है या आप परीक्षण को किसी के साथ नहीं सजा रहे हैं [TestMethod], तो परीक्षण को मान्यता नहीं दी जा सकती है।

2 और बातें: 1) Async इकाई परीक्षण सबसे अच्छे रूप में मज़ेदार होते हैं, और सबसे कमतर भी नहीं। पर एक नजर डालें इस लेख द्वारा स्टीफन Cleary और अगर यह अपनी रुचि वहाँ से रहते हैं।

2) यदि आप NUnit का उपयोग करते हैं और आप समान मुद्दों में चलते हैं, तो ध्यान रखें कि [TestCase]इसके बजाय Nunit के लिए है[TestMethod]

ऊपर कहा गया है, यहाँ एक लेख मैंने कोड प्रोजेक्ट पर पोस्ट किया है, दोनों के साथ MSTestऔर NUnit, यदि आप इसे स्पिन देना चाहते हैं और सुनिश्चित करें कि आप कुछ भी याद नहीं कर रहे हैं।


1
मेरे सभी परीक्षण इस तरह हैं: [TestClass] सार्वजनिक वर्ग ServicesUtilsTest {[TestMethod] सार्वजनिक शून्य Test1 () {Assert.IsTrue (ट्रू); }}
मिगुएलबगौविया

यह बहुत स्पष्ट नहीं है। इसे अपने प्रश्न में एक कोड ब्लॉक में रखें, ताकि इसे समझा जा सके :)
Noctis

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

इसके बजाय इसका उपयोग करने का प्रयास करें:using Microsoft.VisualStudio.TestTools.UnitTesting;
Noctis

1
मैं पहले से ही Microsoft.VisualStudio.TestTools.UnitTesting का उपयोग कर रहा हूं। यह नामस्थान dll Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll में परिभाषित किया गया है
मिगुएलबग्वेविया

28

मेरे पास एक ही मुद्दा था लेकिन अन्य समाधानों में से किसी ने भी काम नहीं किया। यह बताता है कि मैं 2 एडेप्टर के साथ NUnit 3 फ्रेमवर्क का उपयोग कर रहा था।

यदि आप NUnit 3 का उपयोग कर रहे हैं, तो एक्सटेंशन और अपडेट पर जाएं और NUnit3 टेस्ट एडाप्टर स्थापित करें।


यह नौगेट पैकेज के विवरण में यह कहता है। लेकिन अगर आप मेरे जैसे हैं और पढ़ नहीं रहे हैं, तो मुझे उम्मीद है कि यह मदद करेगा: "इस पैकेज में NUnit 3.0 फ्रेमवर्क असेंबली शामिल है, जिसे आपके परीक्षणों द्वारा संदर्भित किया गया है। आपको nunit के संस्करण 3.0 को स्थापित करने की आवश्यकता होगी- कंसोल प्रोग्राम या एक तृतीय-पक्ष धावक जो परीक्षणों को निष्पादित करने के लिए NUnit 3.0 का समर्थन करता है। NUnit 2.x के साथ उपयोग करने के इच्छुक धावक 3.0 परीक्षण सही ढंग से नहीं चलाएंगे। "
फ्रैंक

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

मेरे लिए भी यही हाल था। मैंने NUnit 2.x से 3.x पर अपडेट किए बिना इसे "अपडेट-पैकेज" नगेट चलाया था।
जेन्स

वर्तमान में NUnit 3.0 टेस्ट एडाप्टर NuGet ( NUnit 3.0 Wiki देखें ) के माध्यम से नहीं मिल सकता है । यह हालांकि एक एक्सटेंशन के रूप में स्थापित किया जा सकता है।
वोहॉचज़ेट

1
बहुत बहुत धन्यवाद फ्रैंक। इसने मेरी समस्या हल कर दी। अब मैं कंसोल विंडो में यूनिट टेस्ट के परिणाम देख पा रहा हूँ :)
संतोष कुमार 19

12

मैं समय-समय पर इस मुद्दे पर आ रहा हूं। विजुअल स्टूडियो को बंद करने और फ़ोल्डर में जाने के लिए मेरे लिए क्या काम करता है:

%LocalAppData%\Microsoft\VisualStudio\12.0\ComponentModelCache

और इसे हटाएं सामग्री।

एक बार जब आप विजुअल स्टूडियो खोलते हैं और अपनी परियोजना को फिर से लोड करते हैं तो टेस्ट एक्सप्लोरर में आपके परीक्षण वापस होने चाहिए


मेरे लिए वह काम नहीं करता है। मैं हाल ही में अद्यतन 5 स्थापित के साथ विजुअल स्टूडियो 2013 एक्सप्रेस का उपयोग कर रहा हूं। अभी भी कोई इकाई परीक्षण दिखाई नहीं दे रहा है।
मिगुएलबगौविया

मेरे लिए भी यही कार्यकर्ता था। यहां तक ​​कि दृश्य स्टूडियो को पुनरारंभ किए बिना काम किया। नाले के नीचे कुछ घंटों के लिए अंत था।
Stephan Ryer

यह निर्देशिका अब VS2017 में मौजूद नहीं है।
नोएल विडमर

धन्यवाद यह मेरे लिए काम करता है उनमें से किसी के लिए इस फ़ोल्डर में दृश्य स्टूडियो की स्थापना के आधार पर भिन्न संस्करण हो सकते हैं जैसे मेरे लिए है%LocalAppData%\Microsoft\VisualStudio\16.0_03b7a93c\ComponentModelCache
रवि कुमार मिस्त्री

12

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

यदि आपको परीक्षण खोजने या चलाने में समस्या हो रही है, तो आप Visual Studio के अंदर दूषित धावक कैश का शिकार हो सकते हैं। इस कैश को साफ़ करने के लिए, Visual Studio के सभी इंस्टेंसेस को बंद करें, फिर फ़ोल्डर% TEMP% \ VisualStudioTestExplorerExtensions को हटा दें। यह भी सुनिश्चित करें कि आपका प्रोजेक्ट केवल Visual Studio धावक NuGet पैकेज (xunit.runner.visualstudio) के एक ही संस्करण के खिलाफ जुड़ा हुआ है।

लक्ष्य फ़ोल्डर खोजने के लिए TEMP में टाइप करें


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

MsTestV2 का उपयोग करना - यह केवल एक चीज थी जिसने समस्या को ठीक किया
नाथन

5

भविष्य के गोगलर्स के लिए मेरे पास एक दुर्लभ परिदृश्य था जो इसका कारण था।

मेरे आधार परीक्षण वर्ग में मेरे पास TestContext नामक एक संपत्ति थी। इसने MSTest की आरक्षित TestContext संपत्ति के साथ हस्तक्षेप किया जिसके कारण मेरे सभी परीक्षण वीएस / रेस्परर से एक को छोड़कर छिपे हुए थे (जो आधार से विरासत में नहीं मिला था)।


1
मुझे भी मिल गया! मैं परीक्षण संदर्भ संपत्ति बनाना भूल गया public
llc

4

मेरे लिए यह डिबग (रिलीज़ के बजाय) के लिए 'समाधान कॉन्फ़िगरेशन' बदल रहा था।


4

मेरी समस्या यह थी क्योंकि मेरी इकाई परीक्षण विधि शून्य नहीं थी , और यह पैरामीटर प्राप्त कर रही थी।


सभी चीजों में से .... यह मेरी समस्या थी और पैरामेट्स बिट समझ में आता है। आखिर, परीक्षा प्रणाली क्या पास करना चाहेगी? वहाँ समाधान एक परीक्षण विधि बनाने के लिए है जहाँ आप मैन्युअल रूप से उस विधि को कॉल करते हैं जिसे आप परीक्षण करना चाहते हैं। यदि आप एक वेबएपीआई परियोजना का परीक्षण कर रहे हैं और आपके पास परमिशन के साथ गेट है, तो आपके पास अभी भी मिलान प्राप्त कॉल होना चाहिए, लेकिन यह एक्सप्लोरर में दिखाई नहीं देगा।
धातुपोहनीक्स

4

मैंने पाया है कि async voidवी.एस. टेस्ट एक्सप्लोरर द्वारा खोजे गए यूनिट टेस्ट तरीके नहीं हैं। ऐसा इसलिए लगता है क्योंकि वीएस के पास परीक्षण समाप्त होने और प्रतीक्षा करने का कोई तरीका नहीं होगा कि वह सफल हुआ या नहीं। यदि आपको पूरी तरह से अतुल्यकालिक रूप से चलाने के लिए एक परीक्षण विधि की आवश्यकता है, तो इसे प्राप्त करने के लिए एक टास्क जैसे बदले में प्राप्त करें async Task। मैंने पाया कि इसने मेरे लिए इस मुद्दे को ठीक कर दिया।


1
यह ऊपर दिए गए प्रश्न का उत्तर नहीं देता है, लेकिन यह वही समस्या है जिसे मैं हल करने की कोशिश कर रहा था। तो आप दुर्घटना 1 हो गए :) बहुत बहुत धन्यवाद!
CF

3

X86 / x64 के बजाय MSIL (कोई भी CPU) के रूप में सभी प्रोजेक्ट बनाने का प्रयास करें। मेरे लिए अजीब तरह से काम किया


मुझे बस किसी भी सीपीयू का उपयोग करके टेस्ट प्रोजेक्ट का निर्माण करना था, अन्य प्रोजेक्ट x64 बने रहे
एडुआर्डो ब्रिट्स

1
तकनीकी रूप से, C # / VB.NET हमेशा MSIL के लिए संकलित है। प्रोजेक्ट "x86", "x64" या "एनी सीपीयू" (और, नए संस्करणों में, "32-बिट को प्राथमिकता दें") केवल EXE / DLL के शीर्ष पर झंडे हैं। बिंदु अभी भी खड़ा है, यद्यपि; NUnit उन परीक्षणों को सूचीबद्ध नहीं करेगा, जो निष्पादन इंजन में लोड नहीं कर सकते हैं, उन्हें चलाने के लिए एक विशेष आर्किटेक्चर की आवश्यकता के रूप में चिह्नित किया जा रहा है।
जोनाथन गिल्बर्ट

3

जब एंडीजी का समाधान काम करता है, तो एक अधिक स्थायी समाधान प्रेफर्रेड टूलएक्रिटेक्चर पर्यावरण चर को "x64" पर सेट करने के लिए हो सकता है, या तो द्वारा:

विज़ुअल स्टूडियो बनाने के लिए देशी amd64 toolchain का उपयोग कैसे करें

या द्वारा:

  • नियंत्रण कक्ष | प्रणाली और सुरक्षा | सिस्टम | उन्नत प्रणाली सेटिंग्स | पर्यावरण चर |
  • प्रेफ़रट्रेडऑलराक्टेक्चर = x64
  • DefaultToolArchitecture = Native64Bit
  • PROCESSOR_ARCHITECTURE = x64
  • प्रोसेसरऑक्रिटेकचर = x64

2

मैं एक ही समस्या का सामना कर रहा था और मुझे याद है, फिर से (यह स्थिति पहले हुई थी), कि समाधान प्लेटफ़ॉर्म मेनू के काम पर "मिश्रित प्लेटफ़ॉर्म" का चयन करना, साथ ही साथ अन्य उत्तर भी।


लेकिन समाधान मंच मेनू कहां है? क्या वह विजुअल स्टूडियो में है? मैं वेब के लिए विज़ुअल स्टूडियो एक्सप्रेस 2013 का उपयोग कर रहा हूं और मुझे वह मेनू नहीं मिल रहा है।
मिगुएलबगौविया

2

मैं अपने को जोड़ने में कामयाब रहा

public static void TestMethod1(){}

स्थैतिक हटाने के बाद मैंने काम करना शुरू कर दिया ...।



1

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


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

परिभाषित करें "परियोजना के बाकी हिस्सों से मेल खाता है"
अमलगमेट

1

बस इसमें भाग गया और साथ ही मैंने एक ऐसा मामला नहीं देखा जो मेरा समान था।

.csprojमेरी परीक्षण परियोजना की फाइल में, NUnit संदर्भ गोपनीयता निर्धारित की गई थी False:

<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
  <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
  <Private>False</Private>
</Reference>

के बाद मैं इसे करने के <Private>लिए Trueकाम किया।


1

आपको केवल इस पैकेज को स्थापित करने की आवश्यकता है:

NUnit TestAdapter NUnit TestAdapter


मुझे पता था कि एक और यूनिट टेस्ट फ्रेमवर्क का उपयोग करने से मेरी समस्या दूर हो जाएगी। लेकिन अगर मैं Microsoft यूनिट टेस्ट फ्रेमवर्क का उपयोग जारी रखना चाहता था जो कि समाधान नहीं है।
मिगेलबगौविया

1

टेस्ट एक्सप्लोरर विंडो में दिखाने के लिए परीक्षण प्राप्त करने के लिए मुझे NUnit3 टेस्ट एडाप्टर 3.0 स्थापित करना था जो पैकेज मैनेजर में उपलब्ध नहीं था।

Https://visualstudiogallery.msdn.microsoft.com से डाउनलोड किया गया ।/0da0f6bd-9bb6-4ae3-87a8-537788622f2d


मैं Microsoft से UnitTests का उपयोग कर रहा हूं। इस मामले में मुझे लगता है कि कुछ भी स्थापित करना आवश्यक नहीं है।
मिगुएलबगौविया

1

मेरे साथ भी ठीक यही समस्या थी।

यह NUnit के असंगत संस्करण के कारण था जिसे मैंने अपने प्रोजेक्ट (3.2.0) और टेस्ट एडॉप्टर में स्थापित किया था (2.0.0)।

ठीक करने के लिए, "टूल> एक्सटेंशन्स और अपडेट्स" का उपयोग करें और NUnit3 टेस्ट एडॉप्टर की खोज करें, इसके बाद मेरे परीक्षणों की खोज की।

चियर्स


मैं NUnit का उपयोग नहीं कर रहा हूं।
मिगुएलबगौविया

1

चलो तर्क के लिए कहते हैं कि आपको अपने परीक्षण परियोजना पर X64 वास्तुकला का उपयोग करने की आवश्यकता है ताकि निर्भरता के लिए ठीक से निर्माण हो सके (जैसा कि मेरे मामले में है)। आपको अपने डिफ़ॉल्ट प्रोसेसर आर्किटेक्चर को टेस्ट - टेस्ट सेटिंग्स मेनू के तहत संशोधित करना पड़ सकता है । X64 में इसे सेट करने से मेरे परीक्षण एक्सप्लोरर को Microsoft.VisualStudio.TestTools.UnitTesting का उपयोग करके अपने परीक्षण खोजने की अनुमति मिली।


1

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

इस मुद्दे के लिए, ऐसा लगता है कि परीक्षणों की स्कैनिंग के दौरान, DLL लोड हो जाता है और इसके परीक्षण प्रकारों की गणना की जाती है। यह संदर्भों को लोड करने का कारण बनता है और यदि इस प्रक्रिया के दौरान कोई विफलता होती है, तो परीक्षण एक्सप्लोरर में नहीं दिखाए जाएंगे। मेरे पास दो मुद्दे थे जो परीक्षण DLL को सफलतापूर्वक लोड करने से रोक रहे थे:

  • कॉन्फ़िगरेशन फ़ाइल में अभी भी एक बाइंडिंग पुनर्निर्देशित बाकी थी (परीक्षण परियोजना में संदर्भित की तुलना में एक संस्करण निचले संस्करण NHiberate पर पुनर्निर्देशित करना)।
  • एक परस्पर विरोधी विधानसभा संदर्भ (2 स्तर के संदर्भ लोड नहीं कर पा रहे हैं)। AsmSpy इन के लिए शिकार करने के लिए एक महान उपकरण btw है।

मैं उसी मुद्दे का सामना कर रहा था, यह जानने में कठिन समय था कि कौन सी डीएल लोड नहीं कर रहा है ....
अमरनाथ चटर्जी

1

यदि आप किसी नेटवर्क साझा या मेरे दस्तावेज़ निर्देशिका से दृश्य स्टूडियो (VS 2015 समुदाय मेरे मामले में) लोड करते हैं जो कि एक हिस्से का हिस्सा है , तो आप इस मुसीबत में पड़ जाएंगे। मैंने इसका हल और इसकी अंतर्निहित परियोजनाओं को एक स्थानीय फ़ोल्डर में ले जाकर इसे हल किया।


1

2 दिन बिताने के बाद ... उपरोक्त किसी ने भी मेरे लिए काम नहीं किया। एकमात्र "समाधान" था: प्रोजेक्ट गुणों पर जाएं -> बिल्ड टैब। फिर फलक के दाहिने निचले कोने पर उन्नत बटन पर क्लिक करें। "डीबग इन्फो:" को "पूर्ण" में बदलें और ओके पर क्लिक करें।

यहाँ स्क्रीन शॉट्स हैं: यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करेंयहाँ छवि विवरण दर्ज करें


0

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

उसने मेरे लिए इसे हल कर दिया।


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

@miguelbgouveia, यह दूसरा तरीका है - VS DLLs बनाता है, और फिर उन परीक्षणों के लिए स्कैन करता है। इसलिए यदि आपके पास कोई परीक्षण परियोजना DLL नहीं है, तो आप निश्चित रूप से कोई परीक्षण नहीं पाएंगे।

0

दृश्य स्टूडियो 2013.5 के लिए, समाधान में \ TestResults निर्देशिका को साफ़ करने में मदद मिली। विज़ुअल स्टूडियो ने mdf फ़ाइल को दूषित कर दिया जिसमें यह खोजे गए परीक्षणों को संग्रहीत करता है, इस प्रकार इकाई परीक्षणों की खोज को रोकता है।


1
यह आपके प्रोजेक्ट के समाधान में है। समाधान एक्सप्लोरर में अपनी परियोजना फ़ाइल पर राइट-क्लिक करें - फ़ाइल एक्सप्लोरर में फ़ोल्डर खोलें। वहाँ से एक निर्देशिका जाओ और / TestResults निर्देशिका को हटा दें। सब कुछ हटाने के लिए आपको विजुअल स्टूडियो को बंद करना पड़ सकता है। अगली बार परियोजना के खुलने के बाद यह निर्देशिका का पुनर्निर्माण करेगा।
MartijnK

0

सुनिश्चित करें कि आपकी सभी परियोजनाएं समान कॉन्फ़िगरेशन के साथ चल रही हैं। आपकी परियोजना के गुणों के तहत => डीबग => ड्रॉप डाउन सूची में प्लेटफ़ॉर्म आपकी अन्य परियोजनाओं में निर्धारित किए गए अनुसार उपयुक्त प्लेटफ़ॉर्म (मेरे लिए यह "कोई भी सीपीयू") था।


0
  • मुझे पता है कि यदि यूनिट का समाधान नहीं बनाया गया है, तो यूनिट परीक्षण नहीं किए जाते हैं, इसलिए यह कोशिश करने के लिए कुछ है (समाधान का निर्माण करें), लेकिन यह समाधान उस हेल्प डेस्क की तरह है, जिसमें पूछा गया है कि क्या आपका कंप्यूटर प्लग इन है ...
  • एक साफ पुनर्निर्माण के बाद मेरे लिए समस्या को ठीक नहीं किया, एक पूर्ण बैच निर्माण चल रहा है इसे ठीक किया।

0

एक ही मुद्दा था; परीक्षण अचानक खोजे जाने बंद हो गए।

नूनिट टेस्ट एडॉप्टर किसी भी तरह अक्षम हो गया था। एक्सटेंशन मैनेजर में सक्षम क्लिकिंग ने इसे मेरे लिए निर्धारित किया।


0

मुझे एक ही समस्या थी जब तक मुझे एहसास नहीं हुआ कि मैंने कट / पेस्ट त्रुटि की है और [Test Method]परीक्षण से पहले छोड़ दिया है ।


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