विज़ुअल स्टूडियो 2015/2017/2019 टेस्ट रनर मेरे xUnit v2 परीक्षणों की खोज क्यों नहीं कर रहा है


173

अद्यतन: 2019 जोड़ना; 2017/2015 के अनुसार डिस्कवरी / रनर इंटीग्रेशन मैकेनिज्म एक जैसा है, इसलिए महत्वपूर्ण चीजें जो गलत हो सकती हैं, वही हैं।


मैंने पढ़ा है कि xUnit धावक मेरे परीक्षणों को क्यों नहीं ढूंढ रहा है, जो कारणों को शामिल करता है xUnit कभी भी आपके परीक्षण नहीं ढूंढ पाएगा, लेकिन मेरी समस्या अलग है - मुझे विश्वास है कि मेरे परीक्षणों के साथ सूक्ष्म कुछ भी नहीं चल रहा है; (उन्होंने अन्य वातावरण में काम किया है, यह सिर्फ मेरी मशीन लगती है) - विजुअल स्टूडियो 2015 [कम्युनिटी एडिशन] में विजुअल स्टूडियो टेस्ट रनर केवल मेरे किसी भी परीक्षण को नहीं दिखा रहा है । मैं कुछ भी रोमांचक नहीं कर रहा हूँ; परीक्षण डेस्कटॉप पर xUnit.net v2 को लक्षित करते हैं।

मैंने आउटपुट विंडो में देखा है और टैब्स से शो आउटपुट में टेस्ट के तहत कुछ भी नहीं देख रहा हूं ।


संबं
धत लं क

1
यह सिर्फ एक संभावित समस्या है, लेकिन जाहिर है कि आपको परीक्षण परियोजना को संकलित करना होगा, इससे पहले कि उसे परीक्षण एक्सप्लोरर में दिखाया जाएगा।
निकेलस पीटर

संबं
धत लं क

इसने मेरे लिए काम किया - stackoverflow.com/questions/42861930/…
प्रिज़नर ज़ीरो

Xunit.Runner.VisualStudio स्थापित करने से मेरी समस्या हल हो गई है
बेंड्राम

जवाबों:


210
  1. अपनी पूछताछ से खोज को हटा दें; आउटपुट विंडो (Ctrl-Alt-O) पर जाएं, फिर शो आउटपुट को ड्रॉपडाउन (Shift-Alt-S) से टेस्ट तक स्विच करें और सुनिश्चित करें कि कोई खोज अपवाद नहीं हैं

  2. टेस्ट | टेस्ट सेटिंग्स | डिफॉल्ट प्रोसेसर आर्किटेक्चर मदद कर सकता है यदि आपके परीक्षण x86 / x64 विशिष्ट हैं और खोज से बायस्डनेस संबंधी अपवाद उत्पन्न हो रहे हैं , अर्थात AnyCpu नहीं

  3. जैसा कि इस उत्तर में सुझाव दिया गया है (यदि तकनीक मदद करती है तो इसे बढ़ाएं) डेस्कटॉप कंसोल चलाने वाले ( निर्देश ) अन्य संभावनाओं को खत्म करने के लिए एक अच्छा क्रॉस चेक हो सकता है, उदाहरण के लिए कॉन्फ़िगर की गई फाइलें: -

    packages\xunit.runner.console.2.2.0\tools\xunit.console <tests.dll>

    नोट xunit.runner.consoleपैकेज को हटा दिया गया है - जब आपको वीएस में काम करने का सामान मिलता है, तो आप dotnet testउन्हें सीआई संदर्भों में भी चला सकेंगे।


दस्तावेज़ पढ़ें - यह व्यापक है, आज तक, समस्या निवारण जानकारी शामिल है और PRs लेता है: -

महत्वपूर्ण नोट: यदि आपने पहले xUnit.net विजुअल स्टूडियो रनर VSIX (एक्सटेंशन) स्थापित किया है, तो आपको इसे पहले अनइंस्टॉल करना होगा। विजुअल स्टूडियो रनर केवल अब NuGet के माध्यम से वितरित किया जाता है। इसे हटाने के लिए, टूल्स > एक्सटेंशन और अपडेट पर जाएं । सूची के नीचे स्क्रॉल करें, और यदि xUnit.net स्थापित है, तो इसे अनइंस्टॉल करें। यह आपको Visual Studio को पुनरारंभ करने के लिए बाध्य करेगा।

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

निम्नलिखित चरणों ने मेरे लिए काम किया:

  1. (केवल अगर आपको संदेह है कि आपकी मशीन पर एक गंभीर गड़बड़ है - सामान्य रूप से अधिक सामान्य मामला यह है कि दृश्य स्टूडियो एकीकरण बस इसे स्थापित नहीं किया गया है)

    क्या DEL %TEMP%\VisualStudioTestExplorerExtensionsके रूप में की सलाह दी: -

    PS> del $env:TEMP\VisualStudioTestExplorerExtensions

  2. xunit.runner.visualstudioसभी परीक्षण परियोजनाओं में NuGet पैकेज स्थापित करें

    • paket:

      .paket\paket add nuget xunit.runner.visualstudio -i

      आप अपने में निम्नलिखित के साथ समाप्त करने की आवश्यकता हैpaket.dependencies :

      nuget xunit.runner.visualstudio version_in_path: true

      ध्यान दें version_in_path: trueबिट महत्वपूर्ण है

    • Nuget: पैकेज मैनेजर कंसोल (Alt-T, N, O) पर जाएं और

      Install-Package xunit.runner.visualstudio)

    सुनिश्चित करें xunit.runnerकि आउटपुट डायर में समाप्त होता है

  3. क्लोज़ टेस्ट एक्सप्लोरर <- यह मेरे लिए गायब सा था

  4. री-ओपन टेस्ट एक्सप्लोरर (Alt-S, W, T)

  5. सभी परीक्षण चलाएं (Ctrl R, A)


12
"क्लोज़ टेस्ट एक्सप्लोरर <- यह मेरे लिए गायब सा था" यह सबसे महत्वपूर्ण कदम है जिसे मैंने भी याद किया और यह पता लगाने के लिए 5 घंटे बिताए। धन्यवाद, मुझे चरणों पर ध्यान देना चाहिए था :)
Esen

1
xunit VS रनर मेरे sln के लिए काम कर रहा था। हालाँकि, यह एक दिन दिखना बंद हो गया था। पता चला कि मैंने वीएस रनिंग को स्थापित नहीं किया है, और यह संभवतः कैश के कारण काम कर रहा था, जो दूसरे स्लैन द्वारा छोड़ा गया था जो रनिंग स्थापित है। धावक को स्थापित करने के बाद, चीजें फिर से ठीक काम करती हैं। तो हर स्लैन के लिए धावक को स्थापित करने के लिए मत भूलना।
ZZZ

1
यह अविश्वसनीय है। उस फ़ोल्डर को हटाना जिसमें तीन अन्य खाली फ़ोल्डर थे, ने समस्या को ठीक कर दिया।
t3chb0t

1
@martinJH मेरे पास इसके लिए एक स्वयं का उत्तर है (ओपी में लिंक्ड): - stackoverflow.com/questions/16214684/… ;) खुलासा नहीं कि मैंने कैसे पता लगाया कि
रूबेन बार्टलिंक

1
वास्तव में अजीब सामान, लेकिन %TEMP%\VisualStudioTestExplorerExtensionsवी.एस. को हटाना और पुनः आरंभ करना आखिरकार काम कर गया!
हेनरिक

35

मुझे टेस्ट प्रॉजेक्ट्स को बदलने के बाद टेस्ट प्रोजेक्ट्स को बदलकर x64 में लाना पड़ा। फिर परीक्षण जहां फिर से पता चला।

आर्किटेक्चर


क्या आपने परीक्षण खोज आउटपुट में इससे पहले कोई संदेश देखा था?
रूबेन बार्टलिंक

नहीं, मुझे कोई त्रुटि नहीं दिखाई दी, यह पता लगाने में थोड़ा समय लगा।
मैक्स

हम्म; अजीब है (मेरे उत्तर के शीर्ष देखें - यह बताता है कि कहाँ देखना है? आम तौर पर इसे ध्वजांकित किया जाता है (हालांकि वहाँ
बचाव के

इसने मेरे लिए इसे ठीक कर दिया। मुझे नहीं पता कि यह क्यों मदद करता है, लेकिन यह करता है।
VSO

2
मुझे साफ करना था -> बदलने के बाद पुनर्निर्माण।
user2023861

32

उपरोक्त समाधानों में से कोई भी मेरे लिए काम नहीं करता है (डॉटनेटकोर 1.1, वीएस 2017)। यहाँ यह तय है:

  1. NuGet पैकेज जोड़ें Microsoft.TestPlatform.TestHost
  2. NuGet पैकेज जोड़ें Microsoft.NET.Test.Sdk

उन पैकेजों के अतिरिक्त हैं जिन्हें मैंने पहले स्थापित किया था:

  • xunit (2.3.0-beta1-build3642)
  • xunit.runner.visualstudio (2.3.0-beta1-build1309)

9
इससे मुझे मदद मिली, मुझे xunit.runner.visualstudio पैकेज याद आ रहा था।
ओगनजेन बेबिक

मेरे .NET 4.72 MS टेस्ट प्रोजेक्ट की जरूरत TestPlatform.TestHostतभी पड़ती है जब VS 2017 से VS 2019 तक प्रवास किया जाता है।
ManmegaMan

इससे मेरे लिए हल हो गया। आउटपुट विंडो में, ड्रॉप डाउन => संदेश देखें "टेस्टहॉस्ट लापता" संदेश देखें।
datchung


14

इस चरण का पालन करें:

  1. अपना MsTest.TestAdapterऔर MsTest.TestFramework dll'sसे अपडेट करें nugget package manager
  2. अपना घोल साफ करें
  3. अपना समाधान बनाएँ।

1
क्या आप इस प्रश्न और स्व उत्तर का एक क्लोन खोल सकते हैं जैसा मैंने किया है? यह एक xUnit v2 और बाद के बारे में है। यहां तक ​​कि xUnit v1 जवाबों का यहां कोई स्थान नहीं है। आप इसे प्रश्न के शीर्ष पर भी देख सकते हैं, या मैं इसे प्रश्न में लिंक कर सकता हूं
रूबेन बार्टलिंक

यह समाधान काम करता है .. अन्यथा हर बार मुझे हटाना पड़ता था %TEMP%\VisualStudioTestExplorerExtensionsऔर अभी भी कभी-कभी मुझे कंसोल से परीक्षण चलाना पड़ता था।
वेंकी

मैं NUnit का उपयोग कर रहा हूं और मैंने NuGet के माध्यम से नवीनतम संस्करण में NUnit3TestAdapter को अपडेट करके इस समस्या को हल किया है।
dpberry178

इसके लिए धन्यवाद - मेरे उदाहरण में सिर्फ अपडेट-पैकेज-इंस्टॉलेशन MSTest.TestAdapter था और परीक्षण किए गए।
रोब

10

मैं एक एएसपी कोर परियोजना और xUnit 2.2.0 के साथ काम करते हुए इस पूरे दोपहर के साथ संघर्ष कर रहा हूं। मेरे लिए समाधान एक संदर्भ जोड़ रहा थाMicrosoft.DotNet.InternalAbstractions

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


"लेकिन एक उपयोगी त्रुटि की सूचना दी" ... जो था? आप यह भी सत्यापित कर सकते हैं कि यह निश्चित रूप से खोज त्रुटियों की खिड़की में सूचीबद्ध नहीं था जैसा कि ओपी में कहा गया है - अर्थात क्या आप आत्मविश्वास से कह सकते हैं "मैंने आउटपुट विंडो में देखा है और टैब्स से शो आउटपुट में टेस्ट के तहत बिल्कुल भी कुछ नहीं देख रहा हूं। । " ?
बजे रूबेन बार्टलिंक

1
अद्यतित उत्तर देखें, बाद में प्रासंगिक होने पर मैं रिटर्न कोड जानकारी पोस्ट करूंगा।
टॉम माकिन

9

यह मेरे लिए दो बार हुआ है - जब मैं इस परियोजना को साफ करता हूं और इसे फिर से बनाता हूं तो यह ठीक हो जाता है।


जब आप ड्रॉपडाउन में चुने गए टेस्ट के साथ आउटपुट विंडो में देखते हैं तो कोई भी गप्पी संदेश?
रूबेन बार्टलिंक

2
कोई भी नहीं, यह सिर्फ कहता है कि कोई परीक्षण नहीं मिला
लियाम

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

क्या मैं यह कह सकता हूं कि बस निर्माण (यानी F6) मदद नहीं करेगा, आपको VS समाधान एक्सप्लोरर में समाधान पर राइट-क्लिक करना होगा और समाधान का पुनर्निर्माण करना होगा।
पीडोन

8

सुनिश्चित करें कि आपका परीक्षण वर्ग सार्वजनिक है


पहले अनंतिम में स्पष्ट रूप से संबोधित किया गया thats (मैं उस मामले को कवर करने वाले एक अन्य प्रश्न को लिंक करता हूं); यह क्यू + ए केवल समस्या निवारण के बारे में है कि कैसे आम तौर पर ठीक परीक्षण जो अन्य स्थानों में काम करते हैं, किसी दिए गए वातावरण में अब किसी के लिए काम नहीं करते हैं। मेरे लिए यह जवाब मायने रखता है क्योंकि यह उस अंतर को पतला करता है।
रूबेन बार्टलिंक

1
आपका बहुत बहुत धन्यवाद। आपने मेरा दिन बचाया।
हेलोवर्ल्ड

7

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

  1. टेस्ट> टेस्ट सेटिंग्स> डिफॉल्ट प्रोसेसर आर्किटेक्चर। फिर X64 या X86 में से किसी एक को चुनें।
  2. प्रोजेक्ट> (आपकी परियोजना) गुण> बिल्ड (टैब)> प्लेटफ़ॉर्म लक्ष्य।

वे समान होने के बाद, अपने समाधान का पुनर्निर्माण करें तो आपके लिए परीक्षण विधियां दिखाई देंगी।


6

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

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

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


दर्द होता है। साझा करने के लिए धन्यवाद और आशा है कि यह किसी दिन किसी की मदद करता है। हालाँकि मुझे कहना होगा: मैं डिबग जानकारी स्तर के लिए किसी भी कारण के बारे में सोच नहीं सकता हूँ ताकि खोज प्रक्रिया को प्रभावित किया जा सके इसलिए मैं केवल यह कह सकता हूं कि "मुझे नहीं लगता कि वास्तव में भालू को गोली मार दी गई थी" - चलो आशा करता हूं कि मैं गलत हूं हालाँकि;)
रूबेन बार्टलिंक

@RubenBartelink आपसे पूरी तरह सहमत है, यही कारण है कि मैंने एक उद्धरण में "समाधान" का उल्लेख किया है :) लेकिन काफी अजीब है, यह सही है कि मैंने एक बार ऐसा किया।
जिज्ञासुबाय

आपका बहुत बहुत धन्यवाद। यह भी मेरे लिए तय था :)
बाबुल्लास

6

मैं xUnit 2.2.0 का उपयोग कर रहा हूं।

मेरा मुद्दा यह था कि मेरा समाधान कुछ dll को खोजने में सक्षम नहीं app.configथा और उन्हें हल करने की कोशिश कर रहा था। Visual Studio में परीक्षण आउटपुट विंडो में त्रुटि दिखाई नहीं दे रही थी।

जब मैंने स्थापित किया था xunit.runner.consoleऔर कमांड लाइन के माध्यम से परीक्षण चलाने की कोशिश करने पर मैं त्रुटि की पहचान करने में सक्षम था।

CLI में xunit टेस्ट कैसे चलाएं


5

मैं एक किनारे के मामले के लिए एक समाधान प्रदान कर सकता हूं जिसे मैंने कुछ दिनों पहले चलाया था। यह ऐसा समाधान नहीं है जो ऊपर वर्णित सभी परिदृश्यों पर फिट बैठता है, हालांकि, किनारे के मामले के लिए मैंने इसे तय किया था।

मेरे पास हाल के वीएस 2017 (संस्करण 15.5.7) और XUnit 2.3.1 के साथ एक ही मुद्दा था। Xunit.runner.visualstudio पैकेज स्थापित किया गया था, हालाँकि, परीक्षण VisualStudio के अंतर्निहित परीक्षण एक्सप्लोरर में नहीं दिखा था।

मैं एक विरासत परियोजना पर काम कर रहा था जो .NET फ्रेमवर्क 4.5 को लक्षित कर रहा था। हालांकि, संस्करण 2.2 के साथ शुरुआत। XUnit .NET फ्रेमवर्क का समर्थन नहीं करता है जो निचले थान 4.5.2 है ( रिलीज़ नोट्स देखें - XUnit 2.2: 19 फरवरी, 2017

परीक्षण परियोजना के लक्ष्य ढांचे को एक संस्करण में बदलना = = 4.5.2 ने मेरे लिए काम किया। आपको प्रोजेक्ट का वह संस्करण नहीं बदलना है जिसका आप परीक्षण कर रहे हैं, यह केवल परीक्षण परियोजना के बारे में है।


5

मैं विजुअल स्टूडियो 2019 के साथ एक ही मुद्दा था। बस निम्नलिखित NuGet संकुल को स्थापित किया और समस्या हल हो गई।

1)। XUnit

2)। xunit.runner.visualstudio

3)। Microsoft.TestPlatform.TestHost

4)। Microsoft.NET.Test.Sdk


3

बिल्ड कॉन्फ़िगरेशन में वर्तमान प्लेटफ़ॉर्म प्रोजेक्ट के लिए बिल्ड चेक बॉक्स पर टिक नहीं होने के कारण यह भी हो सकता है। बिल्ड पर क्लिक करें | कॉन्फ़िगरेशन प्रबंधक, फिर सुनिश्चित करें कि परीक्षण प्रोजेक्ट में आपके द्वारा उपयोग किए जा रहे प्लेटफ़ॉर्म के लिए बिल्ड कॉलम में एक टिक है (उदाहरण के लिए 'x86')।

यह निश्चित रूप से समाधान था जो मेरे लिए काम करता था।


मैं इसे बढ़ा दूंगा अगर यह stackoverflow.com/questions/16214684/… पर था क्योंकि यह xunit2 विशिष्ट और एक अच्छा चेकलिस्ट तत्व नहीं है
Ruben Bartelink

3

सुनिश्चित करें कि आपने .NET मानक 2.0 क्लास लाइब्रेरी में अपनी इकाई परीक्षण नहीं लिखे हैं। Visualstudio धावक इस लेखन के समय netstandard2.0 वर्ग पुस्तकालयों में चल रहे परीक्षणों का समर्थन नहीं करता है।

परीक्षण धावक संगतता मैट्रिक्स के लिए यहां देखें :

https://xunit.github.io/#runners


3

वीएस के साथ एक समान समस्या में परीक्षण विधियों की खोज नहीं की। मेरे मामले में मेरे पास विधि के साथ स्थिर कीवर्ड था, जिसे मैंने हटा दिया और यह काम कर गया।

[TestMethod]

Before: public static void Test1()

After: public void Test1()

1
मैं वास्तव में पसंद करूंगा अगर यह यहां नहीं था क्योंकि यह अन्यथा सही परीक्षणों के बारे में है जो वीएस के एक विशेष उदाहरण में नहीं पाया जा सकता है। मेरे पास एक स्व-उत्तर दिया गया है कि एक xunit परीक्षण क्यों नहीं खोजा जा सकता है: stackoverflow.com/questions/16214684-… । मेरा सुझाव है कि आप एक ऐसा कैंट क्यों बना सकते हैं, जो मेरे एमएसटी टेस्ट को उठाया जा सकता है (यदि आप चाहते हैं तो वीएस द्वारा)। (जैसा कि आप जानते हैं, यह विशेष चिंता xUnit पर भी लागू नहीं होती है, जो एक और कारण है कि क्यों, इसके जैसा ही उपयोगी है, आपका जवाब यहाँ नहीं है)
रुबेन बार्टलिंक

MSTest को मेरे परीक्षण नहीं मिले क्योंकि क्लास एक्सेस संशोधक आंतरिक था।
अब्दुल सबूर

3
  1. सभी Visual Studio इंस्टेंस को बंद करें
  2. % TEMP% \ VisualStudioTestExplorerExtensions \ पर जाएं
  3. संबंधित संबंधित फ़ोल्डर हटाएं
  4. पुनः प्रयास करें

मुझे बताएं, धन्यवाद


2

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

मैं मान रहा हूं कि दो परीक्षण परियोजनाओं के बीच कुछ परस्पर विरोधी होना चाहिए और यह मुझे उठने और कुछ मिनटों में चलने का सबसे तेज तरीका था। किंक को बाद में काम किया जा सकता है :)।


2

मैं लंबे समय से इस समस्या से पीड़ित था।

  • मेरे पास लगभग 100 परियोजनाएं थीं अलग-अलग संस्करण अलग-अलग सर्वर में तैनात किए गए थे।

  • 2.2.0 से 2.3.1 तक xunit को अपडेट करना कोई समाधान नहीं था क्योंकि बिल्ड 2.3.1 में विफल हो रहा था।

फिर मैंने सिर्फ xunit.runner.visualstudio को 2.3.1 में अपडेट किया और सब कुछ ठीक काम करने लगा। मैंने अपने xunit.runner.visualstudio पैकेज को अपडेट करने के लिए अपने पैकेज मैनेजर कंसोल में इस कमांड का उपयोग किया है

Get-Project ComapanyName.ProjectName.*.Tests | Install-Package xunit.runner.visualstudio -Version 2.3.1

1

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

वीएस 2017 में, Default.runsettingsअपने टेस्ट प्रोजेक्ट में , एक रन सेटिंग्स फ़ाइल बनाने का प्रयास करें। यदि आपका मुख्य कार्य x64 है, तो सामग्री निम्न होनी चाहिए:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <TargetPlatform>x64</TargetPlatform>
  </RunConfiguration>
</RunSettings>

फिर इस फाइल को Test -> Test Settings -> Select Test Settings File से चुनें।

फिर, टेस्ट -> टेस्ट सेटिंग्स, डिफ़ॉल्ट प्रोसेसर आर्किटेक्चर के तहत, फिर से सही आर्किटेक्चर चुनें।

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

FYI करें अतिरिक्त टेस्ट सेटिंग्स प्रविष्टियाँ यहाँ पाई जा सकती हैं


1

एक अन्य कारण है जो टेस्ट एक्सप्लोरर को कोई भी परीक्षण नहीं दिखा सकता है, और इसका .pdbविज़ुअल स्टूडियो 2017 / .NET कोर के साथ पेश किए गए नए पोर्टेबल फ़ाइल प्रारूप के साथ क्या करना है जो कुछ वीएस टूलींग को तोड़ सकता है। (पृष्ठभूमि: बग रिपोर्ट देखें "Mono.Cecil नए के साथ OutOfMemoryException का कारण बनता है। Csproj 5B) । )

क्या नए पोर्टेबल .pdb(डीबग प्रतीकों) प्रारूप के कारण आपके परीक्षण नहीं मिले हैं ?

  • आउटपुट खोलें खिड़की।
  • के लिए ड्रॉप-डाउन चयन बदलें से दिखाना उत्पादन करने के लिए टेस्ट
  • यदि आपको निम्न के समान आउटपुट दिखाई देता है (संभवतः आपके प्रत्येक परीक्षण के लिए एक बार दोहराया गया है), तो आपको इस उत्तर में वर्णित समस्या मिल गई है:

    Exception System.OutOfMemoryException, Exception converting <SignatureOfYourTestMethod>
    Array dimensions exceeded supported range.

यदि हाँ, तो समस्या को हल करने के लिए ऐसा करें:

  • अपनी परीक्षण परियोजना के गुण खोलें ( सॉल्यूशन एक्सप्लोरर में परीक्षण परियोजना चुनें और Alt+ दबाएँEnter )।
  • बिल्ड पर स्विच करें टैब।
  • उन्नत पर क्लिक करें ... बटन (उस टैब पेज के अंत में स्थित है)।
  • ड्रॉप-डाउन लेबल में डिबगिंग जानकारी , चुनें none, pdb-onlyया full, लेकिन नहीं portable । यह अंतिम सेटिंग है जिसके कारण परीक्षणों को नहीं ढूंढा जा सकता है।
  • ठीक क्लिक करें और अपनी परियोजना को साफ और पुनर्निर्माण करें। यदि आप अतिरिक्त सुनिश्चित होना चाहते हैं, तो अपने परीक्षण प्रोजेक्ट के आउटपुट डायरेक्टरी में जाएं और .pdbपुनर्निर्माण से पहले सभी फाइलों को साफ करें। अब आपके परीक्षण वापस होने चाहिए।

1

जब मुझे वीएस 2017 में इंटेलीटेस्ट के साथ पहली बार चलने का प्रयास किया गया तो मुझे खुशी हुई।

कभी-कभी, जब टेस्ट प्रोजेक्ट को IntelliTest द्वारा ऑटो-क्रिएट किया जाता है, तो असेंबली रेफरेंस Microsoft.ExtendedReflection( ... \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ Extensions \ Microsoft \ Pex \ Microsoft.ExtraReflection। dll ) गायब है। जब जोड़ दिया जाता है, तो उत्पन्न परीक्षण पुन: परीक्षण के बाद परीक्षण एक्सप्लोरर में दिखाई देंगे।


1

अस्वीकरण: यह दृश्य स्टूडियो 2015 के साथ xunit के बारे में नहीं है, लेकिन एक UWP इकाई परीक्षण आवेदन (MSTest) के साथ Visual Studio 2017। मैं इस धागे को एक ही चीज़ की खोज कर रहा था, इसलिए शायद कोई और ऐसा ही करेगा :)

मेरे लिए समाधान MSTest.TestAdapter और MSTest.TestFramework के लिए nuget संकुल को अद्यतन करना था। ऐसा लगता है कि जब आप UWP के लिए एक इकाई परीक्षण ऐप बनाते हैं तो आपको स्वचालित रूप से नवीनतम संस्करण नहीं मिलते हैं।


मैं एक स्व-उत्तर वाला प्रश्न पूछने का सुझाव दूंगा क्योंकि मैंने किया था कि इस तरह की जानकारी के लिए सबसे अच्छा तरीका है - मेरे संपूर्ण प्रश्न और s / xUnit / MSTest को कॉपी पेस्ट करने के लिए स्वतंत्र महसूस करें (यदि आपको लगता है कि यह समझ में आता है;)
Ruben Bartelink

1

मेरी समस्या को nuget xunit.runner.visualstudio को स्थापित करके हल किया गया था


1

मेरे मामले में मेरे पास एक ही समाधान में कई परीक्षण परियोजनाएं हैं, और केवल एक परियोजना "टेस्ट एक्सप्लोरर" प्रदर्शित नहीं कर रही थी

मैं समाधान पर राइट-क्लिक करके "समाधान के लिए नौगट पैकेज प्रबंधित करें" पर गया।

मैंने "समेकित" टैब के तहत देखा कि कुछ "टेस्ट" नगेट पैकेज थे जो परियोजनाओं के बीच सिंक से बाहर थे। मैंने "इंस्टॉल" पर क्लिक किया और मेरे लापता परीक्षणों को दिखाया।


1

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

मैंने अपने स्थानीय फ़ोल्डर को पूरी तरह से हटा दिया है और रेपो को फिर से क्लोन कर रहा है। यह मेरे लिए हल है।


1

यहाँ समाधान है कि हमारे लिए काम किया है। सबसे अच्छा नहीं, लेकिन शायद एक लाभ हो सकता है।

पृष्ठभूमि:

  • हमारी लिपियों को वीएस 2013 के साथ विकसित किया गया था और एनयूनेट वीएस एडेप्टर 2.1 का उपयोग किया गया था।
  • हाल ही में हम वीएस 2017 में चले गए और जब एक ही समाधान खुला - टेस्ट टेस्ट एक्सप्लोरर में नहीं दिखा

बिल्ड पर हमें यह संदेश दिखाई देगा:

[Informational] NUnit Adapter 3.10.0.21: Test discovery starting
[Informational] Assembly contains no NUnit 3.0 tests: C:\ihealautomatedTests\SeleniumTest\bin\x86\Debug\SeleniumTest.dll
[Informational] NUnit Adapter 3.10.0.21: Test discovery complete

समाधान (अस्थायी):

  • NUnit एडाप्टर 3.10 की स्थापना रद्द करें ...
  • NUnit VS एडाप्टर 2.1 स्थापित करें।

अब टेस्ट दिखाए जाते हैं।


कृपया अपना (कम से कम प्रतीत होता है) नए प्रश्न को अपनी स्वयं की पोस्ट में स्पष्ट उत्तर देने के लिए :) :)
geisterfurz007

... "क्यों NUnit TestAdapter v3 मेरे NUnit v2 परीक्षण नहीं देख रहा है और ए) पिंग यहाँ ख) एक डाल एक" "यह भी देखें <कड़ी>" शीर्ष पर है (भले ही यह थोड़ा कठिन है), लेकिन मैं इस उत्तर को निकाल दिया गया क्योंकि यह xUnit v2 testsशीर्षक के साथ अच्छी तरह से फिट नहीं है ।
रूबेन बार्टेलिंक

0

यह भी जाँच लें कि क्या पूरी तरह से खाली app.config फ़ाइल (पूरी तरह से बिना किसी मार्कअप के साथ खाली) परीक्षण परियोजना के भीतर है। मेरे मामले में यह दोषी था।


0

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

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


0

मुझे नहीं पता कि आपमें से कुछ भी जस्टमॉक का उपयोग करते हैं, लेकिन मुझे काम का पता लगाने के लिए वीएस 2017 में प्रोफाइलर को निष्क्रिय करना पड़ा।


हममम। यदि आप इसे वापस चालू करते हैं, तो क्या यह तुरंत फिर से विफल हो जाता है?
रूबेन बार्टेलिंक

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