टेस्ट एक्सप्लोरर में टेस्ट नहीं चल रहे हैं


146

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

टेस्ट एक्सप्लोरर सभी इकाई परीक्षणों को दिखा रहा है, लेकिन एक बार "रन ऑल" पर क्लिक करने पर, सभी परीक्षण बाहर हो रहे हैं और परीक्षण रन का कोई परिणाम नहीं दिखा रहा है:

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

  • सभी परीक्षण कक्षाएं सार्वजनिक हैं
  • सभी परीक्षण कक्षाओं में [TestClass]घोषित विशेषता है
  • सभी परीक्षण विधियां [TestMethod]विशेषता का उपयोग कर रही हैं
  • उत्पादकता कोड और परीक्षण परियोजना दोनों .NET 3.5 को लक्षित कर रहे हैं।
  • मैं पहले से ही स्वच्छ बनाने के लिए अपनी समाधान की कोशिश की है, और / या हटा दें obj, bin, Debugऔर Releaseफ़ोल्डरों

मैं किसी भी संकेत को स्वीकार करता हूं जो इस तरह के व्यवहार का कारण बन सकता है।


3
अपने ReSharper को अपडेट करें। इस stackoverflow.com/questions/16011775/… पर
kmhigashioka

18
क्या यह अद्भुत नहीं होगा यदि वीएस ने कहा कि एक परीक्षण क्यों नहीं चलाया गया? बेमेल लक्ष्य प्लेटफ़ॉर्म, लापता परीक्षण एडाप्टर, ...:
बर्नहार्ड हॉफमैन

1
यह कहाँ उल्लेख किया गया है कि वे ReSharper का उपयोग करते हैं?
एलेक्स 75

5
@BernhardHofmann मुझे अभी इस तरह से एक समस्या का सामना करना पड़ा है और यह पता चला है कि वीएस आउटपुट "टेस्ट" में कुछ त्रुटि संदेश छोड़ रहा था। जरूरी। निराशा होती है कि वीएस उन्हें अधिक दिखाई नहीं देता है, लेकिन यह इस तरह की स्थिति में देखने के लिए एक जगह है।
JLRishe

2
आप सभी इस सुविधा अनुरोध को बनाए रखने में रुचि रख सकते हैं: developercommunity.visualstudio.com/idea/947742/…
काइल डेलाने

जवाबों:


157

यदि आपकी परियोजनाएँ सभी AnyCpu नहीं हैं, तो आप यह भी जाँचना चाह सकते हैं कि निम्नलिखित 2 सेटिंग्स मैच:

  1. [राइट क्लिक टेस्ट प्रोजेक्ट] -> गुण -> बिल्ड -> प्लेटफ़ॉर्म लक्ष्य - जैसे x64

  2. [मुख्य मेनू] -> परीक्षण -> परीक्षण सेटिंग्स -> डिफ़ॉल्ट प्रोसेसर वास्तुकला -> X64

मैंने पाया कि जब ये मेरे टेस्ट प्रोजेक्ट से मेल नहीं खाते तो चुपचाप दौड़ने में नाकाम रहेंगे।


5
यह उत्तर गर्दन-और-गर्दन के साथ "इसे फिर से चालू और बंद करें" है, इसलिए यदि यह आपके लिए काम करता है, तो कृपया इसे बढ़ाएं।
ल्यूकिया

यह एक मेरे मुद्दों (मिश्रित प्लेटफार्मों से anycpu पर स्विचन) तय
Marcel Studer

1
सुनिश्चित करें कि आपके testprojects netstandard2.0 नहीं हैं, लेकिन netcoreapp2.2
user2033412

4
काम किया। मैं वास्तव में वीएस के साथ हूं, आप जानते हैं, हमें स्पष्ट चेतावनी या त्रुटि संदेश या कुछ और दें।
आनंन

9
VS2019 संस्करण: मुख्य मेनू -> परीक्षण -> AnyCPU परियोजनाओं के लिए प्रोसेसर वास्तुकला -> X64।
स्टैकऑवरथ्रो

64

मुझे वीएस 2017 में भी यही समस्या थी। मेरे मामले में वीएस को फिर से शुरू करने से यह हल हो गया।


7
मेरी पिछली टिप्पणी के लिए कि मैंने यह क्यों दिया, यह हटा दिया गया, इसलिए मैं थोड़ा स्पष्ट हो जाऊंगा। यह समस्या का हल नहीं है; यह एक बहुत ही अस्थायी सुधार है जो अंतर्निहित समस्या को हल नहीं करता है। मुझे नहीं लगता कि एसओ ऐसा स्थान होना चाहिए जहां लोगों को "इसे बंद और फिर से चालू" कहा जाना चाहिए, यह ज्ञान है कि आपके यहां पहुंचने से पहले सीखा जाना चाहिए। कृपया समाधान के लिए जोसेफ सिम्पसन का जवाब देखें।
लूकिया

5
@lukkea मैंने यूसुफ सिम्पसन के उत्तर का पालन किया और पुष्टि की, कि मेरी सभी परियोजनाएँ AnyCpu। मुझे अभी भी यहाँ वर्णित समस्या थी। मेरे लिए बस VS को रीस्टार्ट करने में मदद मिली। यह पहली बार नहीं है कि VS2012 में इस तरह के हिकअप हैं (और न केवल मेरी मशीन पर)। मैं आपसे सहमत हूं, कि यह एक अच्छा समाधान नहीं है, लेकिन अगर परियोजना में कुछ भी गलत नहीं है, तो यह एकमात्र मदद हो सकती है। एक की जाँच करें कि क्या पुनर्निर्माण को साफ करने में मदद नहीं मिलती है, हालांकि।
सांचा

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

2
@lukka कभी-कभी दृश्य स्टूडियो अंतर्निहित समस्या है और फिर से शुरू करना समाधान है
JSON

1
फिर भी VS2019 के लिए काम करता है ....
ट्रॉनल्ड

44

यदि आप MSTest के बजाय NUnit का उपयोग कर रहे हैं तो आपको Visual Studio 2012/2013 के लिए NUnit Test Adapter Extension की आवश्यकता होगी ।


9
इससे मुझे यह पता लगाने में मदद मिली कि मुझे "NUnit 3 टेस्ट एडेप्टर" स्थापित करने की आवश्यकता है: marketplace.visualstudio.com/…
Westerlund.io

10
VS 2019 में मेरे लिए पैकेज मैनेजर nuget.org/packages/NUnit3TestAdapter
maylon

इस पृष्ठ के अनुसार आपको Microsoft.NET.Test.SdkNuget
BlueRaja - Danny Pflughoeft

वीएस 2017 में मैंने एक्सटेंशन नुनिट 3 टेस्ट एडेप्टर स्थापित किया और यह काम किया।
बॉब लोकार्प

वीएस 2019 में मैंने एक्सटेंशन नुनिट 3 टेस्ट एडेप्टर भी स्थापित किया और यह काम किया। एक नोट: मुझे विजुअल स्टूडियो को अपडेट करने की भी आवश्यकता है।
बॉब लोकार्प

42

मुझे अपने async परीक्षण तरीकों को शून्य के बजाय टास्क को वापस करने के लिए बदलना पड़ा।

टेस्ट एक्सप्लोरर में परीक्षण तब सक्रिय और चलने योग्य थे।


1
समाप्त करने के लिए एक async शून्य विधि की प्रतीक्षा करने का कोई तरीका नहीं है। Async शून्य "आग और भूल" है। इसलिए उनका परीक्षण नहीं किया जा सकता है।
केटोबॉम्ब

जब मैंने यह पढ़ा, तब मैंने इस भूमि पर प्रतिध्वनित किया ... मेरी मूर्खता को इंगित करने के लिए धन्यवाद। मेरे लिए यही काम किया। अपवोटेड
जेपी

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

2
@ pat8719, एक कोड विश्लेषक के लिए एक अच्छा विचार लगता है। वे लिखने के लिए बहुत कठिन नहीं हैं। मैंने अभी-अभी एक एक्सनिट तथ्य लिखा है async void Foo()और उनके विश्लेषणकर्ताओं ने शिकायत नहीं की है, लेकिन वे निश्चित रूप से एक जोड़ सकते हैं। cc: @bradwilson
benmccallum

22

जाँचें कि परीक्षण किस रूपरेखा के विरुद्ध लिखे गए हैं (उदाहरण के लिए ननिट, एक्सनिट, वीएस परीक्षण, आदि) और सुनिश्चित करें कि आपने सही परीक्षण एडाप्टर / रनर एक्सटेंशन स्थापित किया है।

मेरे लिए यह NUnit 3 टेस्ट एडॉप्टर था जो गायब था और मैंने nunit.framework निर्भरता संस्करण (सॉल्यूशन एक्सप्लोरर में डिपेंडेंसी ट्री में .dll का चयन करें और गुण विंडो को हिट करने के लिए F4 हिट) को देखकर आवश्यक संस्करण संख्या की पुष्टि की।


2
स्वयं पर ध्यान दें: मेरा मूल MSTest प्रेज शोधन Microsoft.VisualStudio.QualityTools.UnitTestFramework(अनिश्चित जो संस्करण)। हल किए गए मुद्दे जहां विधि उस रेफरी को हटाकर (या नहीं पाया जाता है), और नवीनतम (v2.1.0) MSTest.TestAdapter (और फ्रेमवर्क) को स्थापित करके
एडम कॉक्स

@AdamCox को Microsoft.VisualStudio.TestTools.UnitTestingहटा दिया गया है? मेरे पास इसका उपयोग करने वाले कुछ परीक्षण थे जो अचानक एक परियोजना के कुछ संदर्भों को फिर से जोड़ने के बाद ऊपर की ओर दौड़ते हुए निकल गए।
एहब्रोब

@ebyrob, Athanasios का उत्तर नीचे प्रासंगिक हो सकता है। ऐसा लगता है कि उसे न केवल MSTest में अपग्रेड / अपग्रेड करना था। * पैकेज, बल्कि कुछ निर्भरता भी जोड़ते हैं और कुछ बाध्यकारी अप्रत्यक्ष को ठीक करते हैं। अपने चेतावनी उत्पादन की जाँच करें।
benmccallum

16

TLDR: टेस्टिंग पैकेज अपडेट करें, आउटपुट -> टेस्ट कंसोल में देखें

मैं डेढ़ दिन तक इससे जूझता रहा। तो यहाँ मैं इसे हल करने के लिए क्या किया है:

लक्षण

  1. 5 यूनिट टेस्ट प्रोजेक्ट्स, टेस्ट एक्सप्लेयर में सभी खोजे जा सकते हैं
  2. 5 में से 2 को ठीक से निष्पादित किया गया
  3. 3 बताते हैं कि बिल्कुल नहीं
  4. समस्या .net फ्रेमवर्क अद्यतन के बाद शुरू हुई

जाँच पड़ताल

चूंकि सभी पैकेज .net फ्रेमवर्क अपडेट के दौरान अपडेट किए गए थे, इसलिए मैंने वर्कइन और वर्किंग प्रोजेक्ट्स के बीच अंतर के साथ शुरुआत की। पहला सुराग यह था कि सभी 3 परियोजनाएं उपयोग कर रही थीं: MSTest.TestAdapter और MSTest.TestFramework

स्वाभाविक रूप से मैं वीएस 2019 में -> आउटपुट कंसोल -> टेस्ट ड्रॉपडाउन में गया और आउटपुट को देखा। वहां कुछ भी उपयोगी नहीं है।

समाधान का एक चरण : 2.0.0 संस्करण के लिए MSTest.TestAdapter और MSTest.TestFramework अद्यतन करें

समाधान के दो चरण : अब आउटपुट कंसोल -> परीक्षण ड्रॉपडाउन आउटपुट एक के बाद एक, लापता पैकेज और गलत बाध्यकारी रीडायरेक्ट दिखाना शुरू कर दिया है

समाधान के तीन चरण : मैन्युअल रूप से लापता पैकेज जोड़ें। मेरे लिए वे थे

  1. System.Runtime.Extentions
  2. System.Reflection
  3. शायद कुछ और जो मुझे याद आ रहा है

समाधान के चरण 4 : निकाले गए अप्रत्यक्ष बाध्यकारी पुनर्निर्देशन को हटा दिया गया है।

मुझे उम्मीद है कि यह किसी और की मदद करेगा।


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

मुझे लगता है कि मैं भी कुछ ऐसा ही अनुभव कर रहा था। आखिरकार मैंने स्क्रैच से प्रोजेक्ट को फिर से बनाया। जाहिरा तौर पर * .csproj फ़ाइल में एक पंक्ति है जो सेट ToolsVersionऔर टकराती हुई खदान में सब कुछ गड़बड़ कर देती है। सभी मैं कह सकता हूं कि एमएस यूनिट टेस्टिंग के लिए "खरीदार सावधान" है और एक पल के नोटिस में आपकी * .csproj फ़ाइलों को बदलने के लिए तैयार रहें यह सामान कसकर एकीकृत है और बहुत संस्करण पर निर्भर है।
इब्रोब

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


11

वीएस 2019 की स्वच्छ स्थापना के बाद एक ही मुद्दा था। टेस्ट पाए जाते हैं लेकिन "अनपेक्षित त्रुटि" के साथ नहीं चलाया जाता है। X86 के बजाय x64 सेट करके तय किया गया जो डिफ़ॉल्ट रूप से चुना गया था।

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


4
यह मेरे लिए फिक्स था, साथ में वी.एस. को फिर से शुरू करने और .vs फ़ोल्डर को हटाने के लिए। धन्यवाद।
डोनाल्ड.कॉर्ड

मैं विश्वास नहीं कर सकता कि यह अभी भी एक समस्या है ... उम्मीद है, एक बिंदु पर उस क्लासिक रोड़ा के लिए उत्पादन के साथ Microsoft किसी प्रकार की चेतावनी।
गिलाउम लाहे

10

मैंने पाया कि परियोजना में यह Microsoft.VisualStudio.QualityTools.UnitTestFramework विधानसभा का संदर्भ नहीं दे रहा था । इसके बजाय, यह Microsoft.VisualStudio.TestPlatform.TestFramework को संदर्भित कर रहा था और Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions । जब मैंने उन दो संदर्भों को हटा दिया और Microsoft.VisualStudio.QualityTools.UnitTestFramework असेंबली में संदर्भों को जोड़ा गया, जो पहले नीले विस्मयबोधक बिंदु के साथ चिह्नित किए गए परीक्षण अचानक सक्रिय हो गए और काम करना शुरू कर दिया।

इकाई परीक्षण गलत असेंबली के साथ नहीं चलते हैं

सही विधानसभा के साथ, परीक्षण चलते हैं


3
.NET फ्रेमवर्क 4.6.2 से .NET फ्रेमवर्क 4.7.2 पर स्विच करने के बाद मेरे परीक्षण अब नहीं चल रहे थे। घंटों की कोशिश के बाद, केवल इस समाधान ने मेरे लिए काम किया।
.ric Bergeron

.NET फ्रेमवर्क 4.6.2 से .NET फ्रेमवर्क 4.7.2 पर स्विच करने के बाद - मुझे
bkwdesign

10

मेरे पास यह मुद्दा था और मेरे लिए यह विभिन्न संस्करणों के साथ कई टेस्ट प्रोजेक्ट होने के कारण था:

  • MSTest.TestAdapter
  • MSTest.TestFramework

परियोजनाओं के लिए नगेट संकुल को समेकित करना, इसलिए वे मेरे लिए समस्या का समाधान करने वाले थे।


1
इस जवाब ने मुझे एक समान कारण खोजने में मदद की। मेरे मामले में कुछ परीक्षण परियोजनाओं में Microsoft.VisualStudio.TestPlatform.TestFramework (और नहीं चला) के संदर्भ थे, जबकि अन्य में Microsoft के संदर्भ थे।
जूनियर

8

मेरे मामले में, यह इसलिए था क्योंकि मेरे समाधान में एक परीक्षण परियोजना में MSTest.TestFramework और MSTest.TestAdapter नगेट पैकेज स्थापित थे, लेकिन अन्य नहीं थे। इन पैकेजों को स्पष्ट रूप से परीक्षण चलाने की आवश्यकता नहीं थी जब तक कि समाधान में एक परियोजना ने उन्हें स्थापित नहीं किया था।

उन पैकेजों को परीक्षण परियोजनाओं पर स्थापित करके समस्या को ठीक किया गया था जो उन्हें याद नहीं कर रहे थे।


मेरे मामले में यह बिल्कुल विपरीत है: किसी भी इकाई परीक्षण परियोजना, जिसमें MSTest नगेट पैकेज नहीं चलेंगे, जहां अन्य करते हैं। अजीब।
पाल्ले ड्यू

हल : मेरे पास .testsettings फ़ाइल है। MSTest संकुल को .runsettings फ़ाइल की आवश्यकता होती है। इसलिए परीक्षण नहीं चल रहे हैं।
पाल्ले ड्यू

7

मेरे लिए यह तय था कि MS.Test नगेट पैकेज को अपग्रेड किया जाए


7

स्थापित करें Nunit3TestAdapterNuget ने इस समस्या को हल कर दिया है


यह मेरे मुद्दे के रूप में अच्छी तरह से तय! :)
इरु

6

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

परीक्षण एक्सप्लोरर में AnyCPU परियोजनाओं के लिए प्रोसेसर आर्किटेक्चर सेट करना मेरा मुद्दा तय हो गया है! ऊपर स्क्रीनशॉट देखें।


बहुत धन्यवाद! इसने मेरी मदद की =)
अलेक्जेंडर ब्रात्सेव

4

मेरे मामले में मेरे पास एक async voidतरीका था और मैंने इसे बदल दिया async Task, इसलिए जैसा कि मैंने उम्मीद की थी, परीक्षण चला:

    [TestMethod]
    public async  void SendTest(){}

से बदलो :

    [TestMethod]
    public async  Task SendTest(){}

1
यह मेरा मुद्दा था
काइल डेलाने

3

मेरे एक ही लक्षण थे।

कृपया सुनिश्चित करें कि आपके पास उपकरण - एक्सटेंशन और अपडेट के माध्यम से उचित Visual Studio एक्सटेंशन स्थापित है। मेरे मामले में, मुझे ऑनलाइन विकल्प से XUnit और Specflow स्थापित करना पड़ा।

फिर समाधान को साफ करें और इसे पुनर्निर्माण करें।

यदि वह अभी भी मदद नहीं करता है, तो अपने अस्थायी निर्देशिका को साफ़ करें (प्रारंभ मेनू खोज में% अस्थायी% के लिए खोज करें और Temp में सभी सामग्री हटाएं)

और फिर अंत में Resharper को अनइंस्टॉल करने का प्रयास करें जो अंत में मेरी समस्या को ठीक कर दिया।


4
स्थापना रद्द करें ?! मुझे नहीं लगता कि यह एक समाधान है ^ ^
स्टीव राकेब्रांड्ट

2

यह था कि परीक्षण परियोजना का निर्माण नहीं किया गया था:

बिल्ड -> कॉन्फ़िगरेशन मैनेजर ... -> अपने टेस्ट प्रोजेक्ट के लिए बिल्ड चेक करें


2

जब से मैं इस तरह की त्रुटि के साथ यहां आया हूं मैं अपनी समस्या / समाधान पोस्ट करता हूं:

लक्षण:

  • सभी परीक्षण नहीं चल रहे हैं, लेकिन वे प्रति प्रोजेक्ट पर निर्भर नहीं थे, बस उनमें से कुछ को निष्पादित किया गया था।
  • सभी अंजाम हरे थे।
  • टेक स्टैक: डॉटनेट कोर / एक्सयूनिट / फ़्लुएंटसर्विज़न
  • सभी परीक्षणों का पता चला और अद्यतन किया गया अगर यह बदल गया।
  • कई बार "निष्पादित नहीं किए गए परीक्षण" के चयन या चलाने से उन्हें निष्पादित किया जा सकता है।

संकट:

कोड में एक त्रुटि थी जो एक अपवाद को दूसरे धागे के अंदर फेंकती है। सभी परीक्षण दावे पारित हुए लेकिन इसने परीक्षण निष्पादन को रद्द कर दिया। मैं "परीक्षण आउटपुट" (NullException) में त्रुटि देख सकता था।


+1 मैंने एक विशिष्ट परीक्षण को डीबग करने का प्रयास किया। जब मैंने आखिरकार एक और सरल परीक्षण किया, तब मैं विशिष्ट परीक्षण को डिबग कर सकता था। यह जवाब मुझे उस कोशिश करने के लिए मिला।
हलवार्ड

2

समान लक्षण थे, मेरे मामले में यह डॉटनेट कोर एसडीके संस्करण था जो समस्या थी।

प्रोजेक्ट्स 2.2 का लक्ष्य बना रहा था, और 3.0 का उपयोग कर निर्माण करने में सक्षम था। नवीनतम 2.2 एसडीके संस्करण स्थापित करने के बाद वे चलाने में सक्षम थे।


2

आप आउटपुट पैनल (दृश्य -> ​​आउटपुट) खोलकर और "ड्रॉपडाउन से" शो आउटपुट "से" परीक्षण "चुनकर अपने परीक्षण धावक की त्रुटि-आउटपुट देख सकते हैं

से उत्पादन दिखाओ


इसके अतिरिक्त, यदि आपके पास रिचार्पर स्थापित है , तो आप एक परीक्षण फ़ाइल खोल सकते हैं और अतिरिक्त त्रुटि जानकारी प्राप्त करने के लिए परीक्षण के आगे परीक्षण-मंडली पर मंडरा सकते हैं

रेस्परर आउटपुट

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

रिसर्पर यूनिट टेस्ट एक्सप्लोरेशन


2

विजुअल स्टूडियो 2019 संस्करण 16.4.6 के साथ कई विकल्पों की कोशिश की है Microsoft.VisualStudio.TestTools.UnitTesting, लेकिन अब परीक्षण को सफलतापूर्वक चलाने का एकमात्र तरीका कंसोल में अपनी कमांड को लागू करना था।

dotnet test

टेस्ट एक्सप्लोरर में टेस्ट खोजे जाते हैं लेकिन परिणाम "नॉट रन" है।

विजुअल स्टूडियो को अपडेट करने से मदद नहीं मिली।

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

Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework

1

मेरे लिए समाधान के लिए रिसर्पर यूनिट परीक्षण सेटिंग्स "डिफ़ॉल्ट प्लेटफॉर्म आर्किटेक्चर" को "x64" में बदलना था।

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


इसने .NET कोर 3.1 प्रोजेक्ट के साथ मेरी समस्या को हल किया जिसने टेस्ट एक्सप्लोरर में परीक्षण निष्पादित करने से इनकार कर दिया। और कुछ नहीं इसे ठीक कर देंगे लेकिन यह।
20

1

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


1

मेरे पास NUnit (3.11.0) और NunitTestAdapter (3.12.0) नगेट पैकेज के विभिन्न संस्करण थे। जब मैंने NUnit को 3.12.0 पर अपडेट किया, तो Visual Studio ने परीक्षण चलाए।


1

मेरे मामले में इसने MSTest नगेट पैकेज को अपडेट करने का काम किया। रिक्त MSTest प्रोजेक्ट पर भी इस समस्या को पुन: उत्पन्न कर सकता है और काम किए गए संकुल को अद्यतन कर सकता है।


1

मेरे लिए एक बेस क्लास में TestContext नामक एक संपत्ति होने के कारण यह व्यवहार हो रहा था। उदाहरण के लिए:

[TestClass]
public abstract class TestClassBase
{
    protected object TestContext { get; private set; }
}

[TestClass]
public class TestClass : TestClassBase
{
    // This method not found
    [TestMethod]
    public void TestCase() {}
}

1

मैं आपकी विशेषताओं से बता सकता हूं कि आप MSTest का उपयोग कर रहे हैं। मेरे पास एक समान मुद्दा था: मेरे परीक्षण टेस्ट एक्सप्लोरर में दिखाई दे रहे थे, लेकिन जब मैं उन्हें चलाने की कोशिश करूंगा (या तो रन ऑल चुनकर या व्यक्तिगत रूप से उनका चयन करके) वे नहीं करेंगे।

मेरी समस्या यह थी कि मैंने खाली .NET Standard Class Library Project से मैन्युअल रूप से यूनिट टेस्ट प्रोजेक्ट बनाया था। मैंने MSTest.TestFrameworkNuGet पैकेज स्थापित किया था , लेकिन MSTest.TestAdapterपैकेज नहीं । जैसे ही मैंने एडॉप्टर पैकेज स्थापित किया, वे उम्मीद के मुताबिक दौड़े।

रेट्रोस्पेक्ट में स्पष्ट लगता है, लेकिन जब आप एक टेम्पलेट से यूनिट टेस्ट प्रोजेक्ट बनाते हैं, तो आप इन चीजों को लेते हैं।


1

यह उल्लेखनीय है कि कभी-कभी NUnit Test Adapter फाइलें उपयोगकर्ता फ़ोल्डर C: \ Users [User] \ AppData \ Local \ Temp \ VisualStudioTestExplorerExtensions \ NUnit3TadAdapter.3.8.0 / build / net35 / NUnit3.TestAdapter.dll में दूषित हो जाती हैं। टेस्ट एक्सप्लोरर के कारण काम करना बंद कर देना चाहिए।


1

मैं .net 4.7 के साथ VS2019 का उपयोग करता हूं। मैंने NUnit एक्सटेंशन v3 स्थापित किया, और X64 का उपयोग करने के लिए टेस्ट सेटिंग्स को बदल दिया। मेरी इकाई परीक्षण परियोजना कोई भी सीपीयू है (यदि मैं इसे x64 में बदल दूं तो यह काम करेगा)। अब मैं अपने कोड के माध्यम से डीबग कर सकता हूं।


1

यह समस्या तब भी देखी जाती है जब परीक्षण विधि को चलाया जा रहा है एक StackOverflowException , परीक्षण धावक को परीक्षण रन को निरस्त कर देता है, जिसके परिणामस्वरूप आउटपुट होता है0 tests run

अपराधी को खोजने के लिए और इसे हल करने के लिए दोनों TestInitialize और TestMethod सजाया तरीकों की शुरुआत में एक विराम बिंदु डाल दिया , इकाई परीक्षण को डिबग मोड में चलाएं, अपवाद को फेंकने तक (F10) आगे बढ़ें।

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