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


165

EDIT 2016-10-19:

मूल प्रश्न XUnit परीक्षण धावक के साथ VS2015 CTP6 के लिए विशिष्ट समस्या के बारे में था। यह उन उत्तरों से स्पष्ट है कि विज़ुअल स्टूडियो में यूनिट टेस्ट डिस्कवरी के साथ एक बहुत व्यापक मुद्दा है जो कई अलग-अलग स्थितियों में हो सकता है। मैंने अपना प्रश्न साफ ​​कर दिया है कि यह प्रतिबिंबित होगा।

मैंने अपने स्वयं के उत्तर में एक स्क्रिप्ट भी शामिल की है जो मैं आज भी इसी तरह की समस्याओं को हल करने के लिए उपयोग करता हूं जब वे दिखाई देते हैं।

कई अन्य उत्तर भी वीएस टेस्ट धावक की पेचीदगियों को बेहतर ढंग से समझने में मददगार साबित हुए हैं। मैं सराहना करता हूं कि लोग अभी भी अपने समाधान साझा कर रहे हैं!


मूल प्रश्न 2015-04-10:

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

जब मैं विज़ुअल स्टूडियो टेस्ट एक्सप्लोरर में जाता हूं और "रन ऑल" पर क्लिक करता हूं, या जब मैं किसी भी टेस्ट विधि पर राइट-क्लिक करता हूं और "रन टेस्ट" का चयन करता हूं, तो मुझे अपने आउटपुट विंडो में निम्नलिखित मिलते हैं:

Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

मैं विंडोज 10 प्रो तकनीकी पूर्वावलोकन पर विजुअल स्टूडियो 2015 सीटीपी 6 चला रहा हूं, 10041 का निर्माण करता हूं। .NET फ्रेमवर्क संस्करण कोई फर्क नहीं पड़ता - यह होता है 4.0, 4.5.2और 4.6

मैंने निम्नलिखित परीक्षण रूपरेखाओं के साथ प्रयास किया और उनमें से सभी एक ही व्यवहार देते हैं:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
  • xunit v2.1.0-beta1-build2945 साथ में xunit.runner.visualstudio v2.1.0-beta1-build1051
  • NUnit v2.6.4 साथ में NUnitTestAdapter v2.0.0

मुझे GitHub (xunit) पर एक समस्या मिली जो समान प्रतीत हुई: xunit टीम की इस टिप्पणी के साथ # 295 खोजे गए परीक्षण नहीं मिल सकते :

विदित हो कि विजुअल स्टूडियो 2015 CTP 5 को सामान्य रूप से यूनिट परीक्षण के साथ कई लोगों द्वारा तोड़े जाने की सूचना दी गई है (न सिर्फ xUnit.net), इसलिए उम्मीद करें कि यह काम न करे।

इसके अलावा, कृपया सुनिश्चित करें कि आपने Visual Studio के रनर कैश को साफ़ कर दिया है। यदि यह दूषित हो जाता है, तो दृश्य स्टूडियो स्थायी रूप से हटाए जाने तक दुर्व्यवहार करेगा। कैश को साफ़ करने के लिए, Visual Studio के सभी इंस्टेंसेस को बंद करें, फिर फ़ोल्डर% TEMP% \ VisualStudioTestExplorerExtensions (ईमानदारी से हटाएं, तो संभवतः% TEMP% में वह सब कुछ डिलीट नहीं होगा जो डिलीट हो सकता है)।

मैंने फ़ोल्डर को हटाने के लिए उनके सुझाव की कोशिश की %TEMP%\VisualStudioTestExplorerExtensions। दुर्भाग्य से यह समस्या ठीक नहीं हुई।

मैंने देखा कि ReSharper वास्तव में कुछ परीक्षणों की खोज करने में सक्षम है। यह केवल VS और NUnit परीक्षणों के लिए काम करता है, xunit के लिए नहीं।

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


3
मुझे खुशी है कि मैं इस पर लड़खड़ाया, यह मुझे याद दिलाता है कि मैं एक 3 पार्टी परीक्षण धावक (मेरे मामले में ncchunch) का उपयोग क्यों कर रहा हूं। मैं इसी तरह के कारणों के लिए बहुत पहले mstest पर छोड़ दिया। बेशक, यह कोई समाधान नहीं है अगर आप mstest के साथ फंस गए हैं ...
हाबिल

संबं
धत लं क

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

कुछ पीपीएल के लिए यह दिलचस्प या अधिक प्रासंगिक हो सकता है (मुझे नहीं लगता कि मुझे इसे उत्तर के रूप में जोड़ना चाहिए): टेस्ट एक्सप्लोरर में कोई स्रोत उपलब्ध नहीं - github.com/Microsoft/testfx/issues/274
hB0

यह किसी के लिए फिक्स हो सकता है stackoverflow.com/a/58019304/1566372
Rady

जवाबों:


154

मेरे आश्चर्य के लिए, %TEMP%निर्देशिका में स्थित अस्थायी फ़ाइलों को साफ़ करने से मेरे लिए समस्या हल हो गई।

नोट: यह रास्ता आम तौर पर है C:\Users\(yourusername)\AppData\Local\Temp

जैसा कि @ वॉरेन-पी शामिल है, आप %temp%स्टार्ट मेनू में डालकर अस्थायी फ़ोल्डर में नेविगेट कर सकते हैं , या "फ़ाइल एक्सप्लोरर" लॉन्च कर सकते हैं और %temp%पता बार में दर्ज कर सकते हैं ।


30
या आप बस %TEMP%स्टार्ट रन मेनू में टाइप करें और यह आपके लिए आपका अस्थायी फ़ोल्डर ढूंढता है कि आप यह अनुमान लगाए बिना कि टेम्प का मूल्य क्या है।
वॉरेन पी।

65
@ ज़ेरेक्लोस कोई भी एप्लिकेशन जो %TEMP%निर्देशिका में महत्वपूर्ण डेटा संग्रहीत करता है वह काम करना बंद करने का हकदार है।
मार्क पैटीसन

25
आपके लिए शर्मिंदगी की बात नहीं है, यह Microsoft की पूरी तरह से विफलता है कि आपको 1000+ USD IDE चालू रखने के लिए इस तरह के हास्यास्पद कदम उठाने होंगे।
मुशीप्स

8
VS2017 में भी मेरे लिए काम किया!
लोरेंत्ज़ वेदेलर

6
यदि आप संपूर्ण अस्थायी निर्देशिका को साफ़ करने के बारे में चिंतित हैं, तो केवल Temp \ VisualStudioTestExplorerExtensions उप-निर्देशिका को साफ़ करने से समस्या ठीक होती है।
माइक वाल्श

90

यह हो सकता है कि आपका कोड x64 के साथ संकलित हो इसलिए डिफ़ॉल्ट प्रोसेसर आर्किटेक्चर को X64 के रूप में सक्षम करना होगा।

Test > Test Settings > Default Processor Architecture > X64

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

1
Windows अद्यतन और / या VS अद्यतन आपको बताए बिना डिफ़ॉल्ट आर्किटेक्चर को बदल देता है .... aargh
Rsweb

और 4 साल बाद, यह अभी भी सहायक है। धन्यवाद
ऑस्कर ओ

67
  • देखें कि क्या NUnit Test Adapter 2/3 VisualStudio में स्थापित है।
    (Tools>Extensions and Updates )

  • सुनिश्चित करें कि सही प्रोसेसर आर्किटेक्चर चुना गया है:
    (Test>Test Settings>Default Processor Architecture)


2
यही मेरे लिए आखिरकार काम आया। बाकी सब कोशिश करने के बाद।
ब्रैडस्टेल

आपको लगता है कि जब एक्सटेंशन भी इंस्टॉल नहीं हुआ है, तो आप पहले अस्थायी फ़ोल्डर में चारों ओर खुदाई करते हैं। इसे पोस्ट करने के लिए धन्यवाद।
नाइटऑवल 88

2
यह भी जांच लें कि क्या आप सही एक्सटेंशन का उपयोग करते हैं। NUnit 2.x और NUnit 3.x के लिए एक अलग एक है।
पेम्बांका

1
जब आप .NET स्टैंडर्ड को टारगेट कर रहे होते हैं, तो आपको वास्तव में VSIX एक्सटेंशन के बजाय NuGet पैकेज NUnit Test Adapter स्थापित करने की आवश्यकता होती है । github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard
m93a

VSIX के बजाय, nuget से NUnit3TestAdapter प्राप्त करने का प्रयास करें। यह बेहतर तरीका है
ravella

33

EDIT 2016-10-19 (पॉवरशेल स्क्रिप्ट)

यह मुद्दा अभी भी हर बार और फिर से लौटता है। मैंने अपने लिए प्रासंगिक कैश / अस्थायी फ़ोल्डर / फ़ाइलों को साफ़ करने के लिए एक छोटा पॉवरशेल स्निपेट लिखा। मैं इसे भविष्य के पाठकों के लिए यहाँ साझा कर रहा हूँ:

@(
"$env:TEMP"
"$env:LOCALAPPDATA\Microsoft\UnitTest"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ComponentModelCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\Designer\ShadowCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ImageLibrary\cache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio Services\6.0\Cache"
"$env:LOCALAPPDATA\Microsoft\WebsiteCache"
"$env:LOCALAPPDATA\NuGet\Cache"
) |% { Remove-Item -Path $_ -Recurse -Force }

पहले से ही Visual Studio को बंद करना सुनिश्चित करें और बाद में रिबूट करना एक अच्छा विचार है।

TEMP फ़ोल्डर को हटाना आवश्यक नहीं हो सकता है और कुछ मामलों में अवांछनीय भी हो सकता है, इसलिए मैं पहले TEMP फ़ोल्डर को साफ़ किए बिना प्रयास करने की सलाह दूंगा। बस छोड़ देना "$env:TEMP"

मूल उत्तर 2015-04-12

दृश्य स्टूडियो से संबंधित अस्थायी / कैश फ़ोल्डर की पूरी तरह से सफाई के बाद समस्या "हल" हो गई थी।

चूँकि मेरे पास सब कुछ एक-एक करके गुजरने का समय नहीं था और इसके बाद मैं बीच-बीच में परीक्षण करता रहा, लेकिन दुर्भाग्य से मुझे नहीं पता कि वास्तव में समस्या का कारण क्या था।

ये मेरे द्वारा उठाए गए सटीक कदम हैं:

  1. बंद दृश्य स्टूडियो
  2. सिस्टम और ब्राउज़र tempफ़ाइलों / फ़ोल्डरों को साफ़ करने के लिए CCleaner का उपयोग किया
  3. निम्न फ़ाइलों / फ़ोल्डरों को मैन्युअल रूप से साफ़ / हटा दिया गया है:

    • %USERPROFILE%\AppData\Local\assembly
    • %USERPROFILE%\AppData\Local\Microsoft\UnitTest
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\Designer\ShadowCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ImageLibrary\cache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio Services\6.0\Cache
    • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
    • %USERPROFILE%\AppData\Local\NuGet\Cache
    • %USERPROFILE%\AppData\Local\Temp

धन्यवाद, Microsoft \ VisualStudio \ 14.0 \ और Microsoft \ VisualStudio Services \ 6.0 \ Cache फ़ोल्डर का वर्णन करने के बाद मेरे लिए काम किया।
नील्स वैन रिजेर्स्डल

निश्चित रूप से तुम्हारा मतलब है \Microsoft\VisualStudio\14.0\ImageLibrary\ImageLibrary.cache?
मतेन उलहाक

2
मैंने सब कुछ% TEMP% से निकाल दिया है और यह काम नहीं करता है, लेकिन जब मैंने 'VisualStudioTestExplorerExtensions' डायरेक्टरी (खाली) को पूरी तरह से काम किया है तो :-) (वर्तमान समय में तल पर उस समाधान के साथ aserw है)
nilphilus

मैं इस बात की पुष्टि करना चाहता हूं कि यह समाधान मेरे लिए VS2015 अपडेट 3 और रिचार्पर 10 के साथ काम करता है। लेकिन आपको चमत्कार देखने के लिए पुनः आरंभ करने की आवश्यकता है
क्वोक

1
मैंने केवल एक फ़ाइल \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFolderCache.xml को हटा दिया है यह hepls
Serhii Kuzmychov

21

इस समस्या का एक कारण यह है कि आपका परीक्षण वर्ग सार्वजनिक नहीं है। MSTest केवल सार्वजनिक वर्गों से परीक्षण को रोकता है।


1
हालांकि यह 100% सही नहीं है और मेरे पास एक गैर-सार्वजनिक वर्ग का काम ठीक था, कुछ बिंदु पर इसकी इकाई परीक्षण ने काम करना बंद कर दिया। जब मैंने यूनिट टेस्ट क्लास को पब्लिक में बदल दिया, तो इसने फिर से काम करना शुरू कर दिया। जाओ पता लगाओ!
साशाअर्ज

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

13

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


2
आपके निर्देशों के बाद, मैंने "ननिट" की खोज की और "NUnit 3 टेस्ट एडेप्टर" पाया, जिसने "डाउनलोड" (इंस्टॉल) के बाद, मेरे मुद्दे को हल किया। इस मुद्दे के लिए इंटरनेट पर खोज करने से लिंक
एडम कॉक्स

यह कुछ परिदृश्यों में Nuget पैकेज मैनेजर से बेहतर है क्योंकि यह कॉन्फिग फाइलों को नहीं बदलता है
GY_

1
@GY_ लेकिन जब आप .NET कोर या मानक को लक्षित कर रहे हैं, तो आपको वास्तव में NuGet पैकेज की आवश्यकता है, नीचे मेरे उत्तर की जांच करें: stackoverflow.com/a/47460221/1137334
m93a

तुम मेरी जान बचाओ! धन्यवाद, मैंने इतने सारे समाधानों की कोशिश की और यह काम नहीं किया। मेरा Google परीक्षण अनुकूलक था।
एरमन

9

मेरे पास इसका पूर्ण उत्तर नहीं है, लेकिन मैंने परीक्षण परियोजना के साथ खेलकर कुछ चीजों को निर्धारित किया है:

  1. ऐसा xunit.runner.aspnet : 2.0.0-aspnet-beta4प्रतीत होता है कि यह आधिकारिक बीटा 4 aspnet5 रिलीज का हिस्सा है, जो विजुअल स्टूडियो में काम नहीं करता है।
  2. इसके बजाय, उपयोग "xunit": "2.1.0-*"और "xunit-runner.dnx": "2.1.0-*"पैकेज विजुअल स्टूडियो में काम करते हैं।
  3. परीक्षणों की खोज करने के लिए VS के लिए, आपके प्रोजेक्ट MUST में "परीक्षण" नाम का एक SINGLE कमांड है जो "xunit.runner.dnx" चलाता है। अतिरिक्त कमांड जोड़ने से यह टूट सकता है।
  4. यदि आपकी परीक्षण एक्सप्लोरर विंडो अभी भी खाली है, तो अपनी परियोजना से "परीक्षण" कमांड को हटा दें, फिर समाधान का निर्माण करें, फिर प्रोजेक्ट में वापस "परीक्षण" कमांड जोड़ें। json।
  5. @ फ्रेड-क्लेवर के सुझाव के अनुसार आपके सभी कैश को साफ करने में मदद मिल सकती है, लेकिन मैंने अलगाव में सभी कदम नहीं उठाए हैं, इसलिए मुझे यकीन नहीं है।

यह वीएस 2015 सीटीपी 6 के अनुसार वर्तमान है, बीटा 4 रिलीज का उपयोग करते हुए, डेलीज़ नहीं।


1
ठीक है, मैंने पुष्टि की है (एक सहकर्मी ने यह कोशिश करके) कि उपरोक्त फिक्स को कैश या अस्थायी फ़ाइलों के किसी भी समाशोधन की आवश्यकता नहीं है।
एवी चेरी

ऊपर "" के बजाय "xunit": "2.1.0- " और "xunit-runner.dnx" का उपयोग करते हुए कहते हैं : "2.1.0- " पैकेज विजुअल स्टूडियो में काम करते हैं। " यह काम करता है, धन्यवाद!
जिल्डो

Btw, एक अनुवर्ती के रूप में, सब कुछ वर्तमान रिलीज के रूप में वीएस 2015 में अब ठीक काम करता है। कोई भी उपद्रव करने के लिए नए परीक्षणों को दिखाने या कुछ भी करने की आवश्यकता नहीं है।
एवी चेरी

1
अंत में, अब MS से एक उचित मार्गदर्शिका है, जो कि xunit के किन संस्करणों का उपयोग करने के लिए DNX के कौन से संस्करणों के साथ है, यहाँ: xunit.github.io/docs/getting-started-dnx.html
Avi

9

मेरे पास एक उदाहरण था जहां कुछ परीक्षण नहीं उठाए जाएंगे क्योंकि मैंने उन्हें asyncनिम्नलिखित की तरह बनाया था :

public async void This_IsMy_UnitTest()

समस्या यह थी कि मैं स्विच-ओवर करते समय उन्हें वापस करने के लिए भूल गया था Taskऔर नहीं void। किसी को लगता है कि यह एक त्रुटि या असफल परीक्षा का कारण बनेगा लेकिन नहीं होगा। उस कक्षा में यूनिट परीक्षणों को पूरी तरह से नजरअंदाज कर दिया गया और ऐसा काम किया जैसे वे मौजूद नहीं थे।

यह लगभग 3 के बाद साफ नहीं था और बनाता है + फिर से शुरू होता है VS.NETकि मैंने परीक्षण रन देखा और यह संकेत देने में विफल रहा कि मैं Taskवापसी प्रकार जोड़ना भूल गया :

public async Task This_IsMy_UnitTest()

अपडेट के बाद, यूनिट परीक्षण पाए गए और सही ढंग से काम किया। यह एक किनारे का मामला हो सकता है, लेकिन asyncपरीक्षण के awaitभीतर उपयोग करने के लिए लेकिन हस्ताक्षर सही नहीं होने से यह एक ही समस्या पैदा कर सकता है और यह पहली बार नहीं है जब मैंने यह किया है।


मेरे लिए समस्या का हल!
अनिल खान

8

Nuget पैकेज मैनेजर पर जाएं और Nunit Adapter को निम्नानुसार डाउनलोड करें।

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


धन्यवाद, मेरे मामले में मेरे पास NUnit3TestAdapter के बजाय NUnitTestAdapter था। इससे मेरी समस्या हल हो गई।
पिक्सेल

NUnit3TestAdapter नगेट पैकेज को किसी समाधान में या किसी प्रोजेक्ट में जोड़ने से समस्या को अन्य सभी समाधानों के लिए सामान्य रूप से ठीक नहीं किया जाएगा, लेकिन केवल उन लोगों के लिए जिनमें इसे जोड़ा गया है। आम तौर पर सभी समाधानों / प्रोज के लिए ऐसा करने के लिए, अपने विजुअल स्टूडियो में NUnit 3 टेस्ट एडॉप्टर एक्सटेंशन जोड़ें जैसा कि stackoverflow.com/a/45748818/1300390
उमर टी।

6

मेरे पास एक ही pronlem था, लेकिन फोल्डर "% TEMP% \ VisualStudioTestExplorerExtensions" मेरी मशीन पर मौजूद नहीं था, इसलिए जैसे ही मैंने पोस्ट पढ़ी मुझे यह बनाने का विचार आया और यह काम करता है। परीक्षणकर्ता अब मेरे सभी परीक्षण दिखाने में सक्षम है। धन्यवाद।


6

बस विज़ुअल स्टूडियो को पुनरारंभ करें और टेस्ट एक्सप्लोरर में "रन ऑल" करें ... मेरे सभी परीक्षण तब खोजे जाते हैं।


1
मैंने देखा है कि सिर्फ टेस्ट एक्सप्लोरर को बंद करना और इसे फिर से खोलना और रन ऑल का काम भी चुनना है। मुझे यकीन नहीं है कि अगर यह हमेशा काम करता है लेकिन यह इस समय काम करता है।
अमीर

5

मेरे मामले में (विजुअल स्टूडियो एंटरप्राइज 2015 14.0.25425.01 अपडेट 3, रिसर्पर 2016.2) मुझे बस बिल्ड मेनू से एक साफ समाधान करने की आवश्यकता है । समाधान का पुनर्निर्माण तब परीक्षण एक्सप्लोरर को "जागने" के लिए और सभी परीक्षणों को फिर से खोजने का कारण बनता है।


5

मेरे मामले में समाधान सिर्फ मेरे विज़ुअल स्टूडियो 2015 के लिए NUnit 3 टेस्ट एडेप्टर एक्सटेंशन स्थापित करना था ।

'एक्सटेंशन्स और अपडेट्स' 'टूल्स' के तहत मौजूद है


आपका उत्तर प्रश्न के लिए मूल्य कैसे जोड़ता है? क्या आपने उन्हे पढ़ा है? पहले से ही दो उत्तर हैं जो सटीक समान समाधान की अनुशंसा करते हैं: stackoverflow.com/a/41364951/6305294 , stackoverflow.com/a/35043380/6305294
एलेक्स

2
ठीक है, मैं पहले एक (यानी stackoverflow.com/a/41364951/6305294) को पढ़ता हूं, लेकिन यह मेरे उत्तर के रूप में अलग है कि समाधान के लिए या एक परियोजना के लिए NUnit एडाप्टर nuget पैकेज जोड़ने का सुझाव दे रहा है, जो ठीक नहीं होगा सामान्य रूप से अन्य सभी समाधानों के लिए समस्या। दूसरे के संबंध में, मुझे स्वीकार करना है कि मैं इसे देखने से चूक गया। शायद एक स्क्रीनशॉट जोड़ने से आंख को पकड़ने में मदद मिलती है जब एक सवाल के दो कई जवाब मौजूद होते हैं
उमर टी।

4

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


4

मेरे मामले में, वीएस 2015 के तहत एमएसस्टेस्ट परीक्षण (यानी विधि) नामों के साथ परीक्षणों की अनदेखी कर रहा था जो 174 वर्णों से अधिक लंबे थे। नाम को छोटा करते हुए परीक्षण को दिखाई देने की अनुमति दी। यह परीक्षण नाम में हेरफेर करके अनुमान और जांच के माध्यम से निर्धारित किया गया था।


4

यह शायद ज्यादातर लोगों की मदद नहीं करेगा, लेकिन यूनिट परीक्षण में अनुभवहीन किसी ने एक परीक्षण विधि लिखी थी जो boolइसके बजाय वापस आ गई थी void:

[TestMethod]
public bool TestSomething()

voidसमस्या को ठीक करने के लिए वापसी प्रकार बदलना ।


फिर भी यह जानना दिलचस्प है कि एक प्रकार का रिटर्न परीक्षण खोज को रोकता है, मुझे नहीं पता था कि।
फ्रेड क्लेवर

3

सुनिश्चित करें कि आपके पास xunit.runner.visualstudioअपने परीक्षण प्रोजेक्ट पैकेज में पैकेज है ।config और यह भी कि सही ढंग से बहाल किया गया था।

मुझे पता है कि यह मूल प्रश्न का मामला नहीं था लेकिन यह मेरे जैसे किसी व्यक्ति के लिए समय बचा सकता है।


3

मैं बस इतना जोड़ना चाहूंगा कि मुझे ऊपर वाले के लिए एक पूरी तरह से अलग समाधान मिला।

मैंने अपनी परीक्षा कक्षा को नीचे घोषित किया था:

[TestClass]
class ClassificationTests
{
   //unit tests
}

जैसे ही मैंने publicसंशोधक को कक्षा में जोड़ा , यह उम्मीद के मुताबिक काम किया!


2

यदि आप .NET मानक या .NET कोर को लक्षित कर रहे हैं, तो आपको NUnit टेस्ट एडॉप्टर के लिए NuGet पैकेज का उपयोग करने की आवश्यकता है, न कि विस्तार की

यदि आप .NET कोर या .NET मानक परियोजनाओं का परीक्षण कर रहे हैं, तो NuGet से एडेप्टर को स्थापित करने की अनुशंसा की जाती है। VSIX एडॉप्टर .NET कोर का समर्थन नहीं करता है और न ही करेगा, क्योंकि VSIX पैकेज कई प्लेटफार्मों को लक्षित नहीं कर सकता है।

स्रोत: नुनिट गीठहब विकी

वहां अक्सर पूछे जाने वाले प्रश्न भी देखें:

मेरे परीक्षण दृश्य स्टूडियो 2017 में दिखाई नहीं दे रहे हैं?

  • क्या आप NuGet पैकेज का उपयोग कर रहे हैं?
  • क्या आप संस्करण 3.8.0 या न्यूगेट पैकेज के नए उपयोग कर रहे हैं?
  • क्या आपके परीक्षण .NET .NET या पूर्ण .NET फ्रेमवर्क को लक्षित करते हैं? (ऊपर देखो)
  • क्या आपने Microsoft.NET.Test.Sdk में एक पैकेज संदर्भ जोड़ा है?
  • क्या आपने विजुअल स्टूडियो को फिर से शुरू किया है? यह अभी भी थोड़ा संयमी है।

स्रोत: नुनिट गीठहब विकी


2

यह मेरे साथ हुआ क्योंकि मेरे टेस्ट प्रोजेक्ट में ए app.config। यह असेंबली पुनर्निर्देशन के लिए NuGet संकुल द्वारा स्वचालित रूप से जोड़ा गया था, लेकिन मेरे परीक्षण इसके बिना ठीक चल रहे थे।

देखें: https://developercommunity.visualstudio.com/comments/42858/view.html


1

मुझे भी यही समस्या थी। मैंने परियोजना को सिर्फ साफ किया और फिर से बनाया और मैं उन परीक्षणों को देख पा रहा था जो गायब थे।


1

मेरा समाधान साझा करने के लिए Popping। मैं विंडोज 10, विज़ुअल स्टूडियो 2015, NUnit 3.5, NUnit टेस्ट एडेप्टर 3.6 (NuGet के माध्यम से, विज़एक्स एक्सटेंशन नहीं) पर था और मेरे किसी भी परीक्षण की खोज नहीं की जा रही थी। मेरी समस्या यह थी कि मेरे समाधान के टेस्ट प्रोजेक्ट में, किसी तरह मेरे "दस्तावेज़" फ़ोल्डर का शॉर्टकट प्रोजेक्ट फ़ोल्डर के भीतर बनाया गया था। मुझे लगता है कि परीक्षण अनुकूलक शॉर्टकट देख रहा था और यह पता लगाने की कोशिश कर रहा था कि इसके साथ क्या करना है, जिसके परिणामस्वरूप इकाई परीक्षण प्रदर्शित करने में विफलता हुई।


1

फ़ाइल को हटाते हुए \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFolded erCache.xml ने मेरे लिए समस्या हल कर दी।


1

यह विषय कुछ पुराना है, लेकिन VS2015 में लापता टेस्ट स्थिति के लिए मेरा समाधान:

कार्य-स्थिति केवल डीबग बिल्डकॉन्फ़िगरेशन पर दिखाई देती है। बेशक यह भी परीक्षण-एक्सप्लोरर के माध्यम से अपने परीक्षण को डिबग करना असंभव बनाता है।


1

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

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


1

मैंने इसे X64 बदलकर हल किया: प्रोजेक्ट पर राइट क्लिक करें -> गुण -> बिल्ड -> प्लेटफ़ॉर्म लक्ष्य -> ​​कोई भी सीपीयू


1

किसी तरह मेरे प्रोजेक्ट को स्टैटिक लाइब्रेरी (.lib) के रूप में संकलित करने के लिए सेट किया गया था । इसे डायनामिक लाइब्रेरी (.dll) में बदलने के बाद , विज़ुअल स्टूडियो 2012 द्वारा सही तरीके से खोजे गए परीक्षण।

My Unit Test Project ->
Properties ->
Configuration Properties ->
General ->
Configuration Type

1

मेरे लिए इस मुद्दे को ठीक करना इतना आसान था:

  • अपने यूनिट टेस्ट प्रोजेक्ट का चयन करें
  • समाधान एक्सप्लोरर में 'सभी फाइलें दिखाएं' बटन पर क्लिक करें और 'obj \ x86 \ Debug' के भीतर समाधान एक्सप्लोरर के फ़ाइल ट्री में नई अस्थायी फाइलें दिखाई दीं।
  • इन अस्थायी फ़ाइलों को हटाएँ और प्रोजेक्ट का पुनर्निर्माण करें।
  • परीक्षण चलाने के लिए पुनः प्रयास किया और काम किया!

1

हम भी यही समस्या थी। हमारे पास इसमें कई C # परियोजनाओं और इससे भी अधिक परीक्षण परियोजनाओं के साथ एक बड़ा वीएस 2015 समाधान है।

Resharper की परीक्षण खोज ने ठीक काम किया, लेकिन VS टेस्ट एक्सप्लोरर बुरी तरह विफल रहा।

यह बताता है कि परियोजनाओं में MsTest TestFramework और TestAdapter का समान संस्करण नहीं था, और कभी-कभी वे NuGets और अन्य बार अच्छे पुराने संदर्भों का उपयोग करते थे, और यह जाहिरा तौर पर समर्थित नहीं है (इतनी महंगी IDE के लिए)।

सभी Microsoft.VisualStudio.Test * संदर्भों को निकालना और फिर दो MSTest NuGets को जोड़ना / अद्यतन करने से समस्या ठीक हो गई।


1

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

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