टेस्ट एडॉप्टर के साथ टेस्ट एक्सप्लोरर में NUnit यूनिट परीक्षण नहीं दिखा


145

मैंने VS2012 + 2013 के लिए NUnit टेस्ट एडेप्टर स्थापित किया है। जब मैंने पहली बार एडॉप्टर परीक्षण स्थापित किए थे, तब दिखाई दे रहे थे, लेकिन उन्होंने आज किसी कारण से दिखाना बंद कर दिया। निर्माण, पुनर्निर्माण, सफाई, पुनः आरंभ करने के बाद, टेस्ट एक्सप्लोरर में कुछ भी नहीं दिखता है। ऐसा क्यों हो रहा होगा? मैं VS2013 अल्टीमेट का उपयोग कर रहा हूं।


2
अपने परीक्षण प्रोजेक्ट पर राइट क्लिक करने का प्रयास करें और फिर रन पर क्लिक करें। यह फिर से परीक्षणों के साथ खिड़कियों को आबाद करेगा।
फ्लोरल

@ इसे देखें। मैं देख रहा हूं कि टेस्ट एक्सप्लोरर में ग्रीन बार जाना शुरू होता है और फिर बाद में दूसरा विभाजन रोक दिया जाता है।
रॉबियस

क्या आपके पास कोई अन्य परीक्षण उपकरण है जो हस्तक्षेप कर सकता है? मैं अपने परीक्षणों को चलाने के लिए R # का उपयोग करता हूं, और मैं VS2012 का उपयोग कर रहा हूं, इसलिए मैं आपके वातावरण को पर्याप्त रूप से नहीं देखता हूं। मुझे पता है कि जब मैंने खिड़की बंद कर दी है, या परीक्षणों का एक छोटा सबसेट चला दिया है, तो पूर्ण परीक्षण वृक्ष गायब हो जाता है।
फ्लोरल

आप परीक्षण परियोजना को फिर से उतारने की कोशिश कर सकते हैं, पुनर्निर्माण कर सकते हैं, और फिर इसे फिर से लोड कर सकते हैं ...
चेस फ्लोरल

@ChaseFlorell मेरे पास R # है, लेकिन यह NUnit परीक्षणों के साथ गुड़ के रूप में धीमा है ... और यह पहले काम कर रहा था जो निराशाजनक है। मैं उतारने की कोशिश करूँगा।
रॉबियस

जवाबों:


87

यदि आपका परीक्षण प्रोजेक्ट 64 बिट प्लेटफ़ॉर्म को लक्षित करने के लिए सेट है, तो परीक्षण NUnit टेस्ट एडाप्टर में दिखाई नहीं देंगे।


54
यह हो सकता है कि इसे टेस्ट में मेनू में निर्दिष्ट आर्किटेक्चर से मिलान करने की आवश्यकता हो -> टेस्ट सेटिंग्स -> डिफॉल्ट प्रोसेसर आर्किटेक्चर
Brannon

6
@ ब्रननन यह करता है। यदि यह x64 पर सेट है, तो x64 प्रोजेक्ट्स में परीक्षण दिखाई देते हैं।
बेसिक

2
यहाँ कुछ और बेवकूफी हुई है - मेरी परीक्षा पद्धति में [टेस्ट] विशेषता जोड़ना भूल गए :)
निकोलाई

यह समस्या अभी भी NUnit 3 परीक्षण एडाप्टर में मौजूद है। टेस्ट एडॉप्टर आर्किटेक्चर (x64 बनाम x86) के बारे में सिमॉयड का समाधान देखें।
बार्ट

1
यह गलत उत्तर है। परीक्षणों को चलाने के लिए, "टेस्ट" -> "टेस्ट सेटिंग्स" -> "डिफॉल्ट प्रोसेसर आर्किटेक्चर" -> "x64"
एंड्रयू रोंडो

182

यदि आप NUnit3 + संस्करण का उपयोग कर रहे हैं , तो एक नया परीक्षण एडाप्टर उपलब्ध है।

"टूल -> एक्सटेंशन और अपडेट -> ऑनलाइन" पर जाएं और "NUnit3 टेस्ट एडेप्टर" खोजें और फिर इंस्टॉल करें।


अतिरिक्त +1 क्योंकि इससे कोड कवरेज मेट्रिक्स गायब होने की समस्या भी ठीक हो गई।
एडनपॉवर्ड

यदि फ़ायरवॉल प्रॉक्सी ने एक्सटेंशन और अपडेट के माध्यम से url को ब्लॉक कर दिया है तो एडॉप्टर डाउनलोड करने के लिए इस url का उपयोग करें। marketplace.visualstudio.com/…
यवर मुर्तज़ा

ध्यान दें कि आपको NUnit2 टेस्ट एडाप्टर को अक्षम करने की आवश्यकता हो सकती है।
मार्क पैटीसन

इस तरह इसे पाने और NuGet पैकेज मैनेजर से इसे प्राप्त करने के बीच क्या अंतर है?
ऑक्टेवियन

नूगेट का उपयोग करने से आपके पास नन की एपि तक पहुंच होगी। इस तरह से आप टेस्ट एक्सप्लोरर पर परीक्षण चला सकते हैं (डिफ़ॉल्ट रूप से यह केवल एमएस टेस्ट चलाता है)।
रिकार्डो फ्रांका

57

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


3
सुनिश्चित करें कि आप अपनी विधानसभाओं और कार्यक्रमों की वास्तुकला की जाँच करें। भले ही आपके समाधान या परियोजना के लिए प्लेटफ़ॉर्म स्पष्ट रूप से x64 पर सेट किया जा सकता है, अगर आपका परीक्षण आर्किटेक्चर मेल नहीं खाता है, तो आपको परीक्षण चलाने में परेशानी होगी।
डोडज़ी डज़ाकुमा

30

NUnit संस्करणों के लिए जाँच करें बेमेल। वर्तमान में उपलब्ध NUnit टेस्ट एडॉप्टर केवल NUnit संस्करण 2.6.4 और नीचे के लिए काम करता है। संस्करण 3. से NUnit को डाउनग्रेड करने के लिए पैकेज प्रबंधक कंसोल> अपडेट-पैकेज NUnit -version 2.6.4 पर जाएं

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html


6
आपने सर, मेरी समस्या को हल कर दिया है! धन्यवाद! वहाँ एक nuget पैकेज NUnitTestAdapter.WIthFramework कहा जाता है कि एक इलाज काम करता है!
TheAkhemist

मुझे NUnit संस्करणों के बेमेल के साथ भी ऐसी ही समस्या थी। मेरे परीक्षणों में से कुछ (लेकिन सभी नहीं) टेस्ट एक्सप्लोरर में प्रदर्शित नहीं हो रहे थे इसलिए मैंने सभी प्रकार की सिफारिशों की कोशिश की जैसे कि एनयूएनए परीक्षण एडाप्टर को अपडेट करना। मैंने पहले NUnit को 3.6.1 से 3.7.1 में अपग्रेड किया था, लेकिन किसी कारण से मेरी एक परियोजना अभी भी nunit.framework.dll संस्करण 3.6.1 को संदर्भित कर रही थी जबकि बाकी सब 3.7.1 का संदर्भ दे रही थी। मैंने 3.7.1 के संदर्भ को अद्यतन किया और इसने यह चाल चली। अब तक मेरे परीक्षण गायब नहीं हुए हैं। उंगलियों को पार कर!
1817

23

मेरी स्थिति में 'NUnit3 Test Adapter' को निष्क्रिय कर दिया गया है। इसे फिर से सक्षम करने के लिए मेनू पर जाएं

उपकरण-> एक्सटेंशन और अपडेट ...

बाईं ओर 'इंस्टॉल' -> 'ऑल' चुनें।

ऊपरी दाएँ कोने में 'ननिट' के लिए खोजें।

यदि आपके पास 'NUnit3 टेस्ट एडेप्टर' स्थापित है, तो पाए गए आइटम के साथ आप इसे सक्षम / अक्षम कर सकते हैं।

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


2
मेरे लिए यह काम नहीं आया। अनइंस्टॉल करने की कोशिश की और यह जाने का नाटक किया लेकिन फिर से शुरू होने के बाद यह वहाँ था। मुझे पता चला कि मैंने NUnit को एक मानक उपयोगकर्ता के रूप में स्थापित किया है और फिर इसे एक प्रशासक के रूप में अनइंस्टॉल करने की कोशिश की है। VS इस बारे में कुछ नहीं कहता है ... इसलिए समाधान को बिना प्रशासक विशेषाधिकारों या इसके विपरीत सक्षम करने का प्रयास किया जाता है।
टॉम 18

10

यह उत्तर बहुत ही बुनियादी लगता है लेकिन पहली बार में मेरे लिए पूरी तरह से स्पष्ट नहीं था। यदि आप (पुनः) समाधान का निर्माण करते हैं तो यह केवल उन परियोजनाओं को बनाता है जो निर्माण के लिए कॉन्फ़िगर किए गए हैंBuild -> Configuration Manager

यह मेरा मुद्दा था, मैंने अनजाने में एक बिल्ड कॉन्फ़िगरेशन सेटिंग्स या कुछ ऐसा बदल दिया होगा जिसके कारण मेरी परीक्षण परियोजनाएं नहीं बन पाईं (जब वे पहले से थे)। इसलिए Test Explorerखिड़की उन dlls को देख रही थी जो पुराने थे। मेरे लिए यह स्पष्ट हो गया कि ऐसा करने के बाद मामला था Cleanऔर मेरे अधिकांश परीक्षण गायब हो गए और एक के बाद वापस नहीं आए rebuild... binफ़ोल्डर के आगे निरीक्षण से पता चला कि ये परियोजनाएं बिल्कुल भी नहीं बनाई जा रही थीं।


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

मैंने मैन्युअल रूप से अपनी परीक्षण परियोजनाओं का निर्माण किया। यह पर्याप्त नहीं था। मुझे वही करना था जो इस उत्तर ने कहा।
जारेड

10

मेरे पास काम के सेटअप (NUnit2 और NUnit3 के लिए समाधान के आधार पर, और 2012 और 2017 के बीच विजुअल स्टूडियो के कई संस्करण हैं), और इसने अचानक एक दिन काम करना बंद कर दिया: वीएस के किसी भी समाधान या संस्करण में कोई परीक्षण नहीं पाया गया।

मेरे मामले में, इसे हटाने में मदद मिली %localappdata%\Temp\VisualStudioTestExplorerExtensions। वी.एस. के पुनरारंभ के बाद, सब कुछ पहले की तरह काम किया।


10

यदि आप VS 2017 और .net कोर का उपयोग कर रहे हैं , तो जैसा कि यहां कहा गया है , आपको परीक्षण धावक NUnit 3.6.1 के संदर्भ में , परीक्षण धावक NUnit3TestAdapter 3.8.0-alpha1 और SDK Microsoft..test.Sdk परीक्षण करने के लिए जोड़ना चाहिए 15.0.0


3
मैं .NET कोर का उपयोग नहीं कर रहा हूं, लेकिन जब मैं VS2017 में स्थानांतरित हुआ तो NUnit परीक्षण एडाप्टर स्थापित करना मेरे लिए समस्या का हल हो गया।
सियारन गलाघेर

8
  1. उपकरण
  2. NuGet पैकेज मैनेजर
  3. समाधान के लिए NuGet पैकेज प्रबंधित करें
  4. ब्राउज़
  5. NUnitTestAdapter.WithFramework
  6. Ctrl + R, A परीक्षण बनाने / चलाने के लिए

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

NUnitTestAdapter.WithFramework का उपयोग करना सुनिश्चित करता है कि NUnit और NUnit Adapter के संस्करणों में बहुत कम / कोई असंगति नहीं है (अर्थात "यह सिर्फ काम करता है")


मेरे लिए यह NUnitAdapter3 (VS मेनू -> टूल-> एक्सटेंशन और अपडेट ...) + के अपडेट एडॉप्टर के बाद काम करना शुरू करता है। NUnit के लिए NuGet पेज को 2.6.3 से 3.2.1 तक अपडेट करें। धन्यवाद!
स्माइल

1
यह केवल एक चीज है जो मेरे लिए काम करती है - "विथफ्रॉमवर्क" एक होना चाहिए (केवल मानक एडेप्टर नहीं)
मनि5556

4

जाँच करें कि क्या आपने कहा है [TestFixureSetUp] और [टेस्ट]

टेस्ट क्लास में

नमूना:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}

1
TestFixtureSetup अप्रचलित प्रतीत होता है, बेहतर है <NUnit.Framework.OneTimeSetUp>
Jochen

1

मुझे स्थापना रद्द करनी थी तो xunit.runner.visualstudio नगेट पैकेज को फिर से स्थापित करें । मैंने उपरोक्त सभी सुझावों की कोशिश करने के बाद ऐसा किया, इसलिए हो सकता है कि यह चीजों का मिश्रण था।


1

इस समस्या का एक अन्य कारण यह है कि यदि आप किसी मैप्ड ड्राइव से कोई प्रोजेक्ट खोलते हैं - विजुअल स्टूडियो ऐसी परियोजनाओं को ठीक से संभालता है, लेकिन जाहिर तौर पर नूनिट ने भी उनका समर्थन किया है।

परियोजना को भौतिक रूप से कॉपी करना इस मुद्दे को तय करता है।


0

मैंने यह भी पाया कि जब मैंने nunit v3.2.1 की स्थापना रद्द की थी, तो v3.2.1 के लिए nunit फ्रेमवर्क संदर्भ अभी भी समाधान एक्सप्लोरर में मेरी परियोजना में था। समाधान एक्सप्लोरर> प्रोजेक्टनाम > संदर्भ

यदि आप राइट क्लिक करते हैं तो यह संस्करण दिखाएगा। इसे निकालें फिर संदर्भ> संदर्भ जोड़ें पर राइट क्लिक करें।

संस्करण 2.x संस्करण के लिए खोजें और फिर समाधान जोड़ें।

यह मेरे लिए काम किया!


0

मुझे ऑप द्वारा बताई गई समस्या का अनुभव हुआ

मेरा मामला यह था कि मुझे एक पुरानी परियोजना सौंपी गई थी और परीक्षण वास्तव में परीक्षण के तहत प्रणाली का हिस्सा थे। मुझे लगता है कि वे बाहरी परीक्षण धावक का उपयोग कर रहे थे।

इस कार्य श्रृंखला ने मेरे लिए समस्या हल कर दी

  • एक परीक्षण परियोजना बनाई,
  • परीक्षण फ़ाइलों को वहां ले जाया गया
  • जोड़ा संदर्भ तो परीक्षण परियोजना संकलन होगा
  • Nunit और Nunit एडॉप्टर NuGet पैकेज को टेस्ट प्रोजेक्ट में जोड़ा
  • कंपाइल

मैं ननिट परीक्षण सफलतापूर्वक चलाने में सक्षम था।


0

यदि आप TestCaseSourceविशेषता का उपयोग कर रहे हैं , तो सुनिश्चित करें कि स्रोत मौजूद है और प्रलेखन का सम्मान करता है , अन्यथा आपके परीक्षणों की खोज नहीं की जाएगी।


0

मेरे पास एक समान मुद्दा था जहां परीक्षणों की खोज नहीं की जा रही थी। मेरे पास NUnit का सही संस्करण था, NUnit और एडॉप्टर के बीच के संस्करण मेल खाते थे, और परीक्षण जहां सही तरीके से टैग किए गए थे। मैं एक प्रशासक के रूप में वीएस 2017 एंटरप्राइज चला रहा था। वीएस को प्रशासक के रूप में शुरू करने के बाद परीक्षण दिखाई दिए।


0

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


0

मुझे भी यह समस्या थी लेकिन इसका कारण अलग था। मैं F # 4.0 के साथ VS2017 का उपयोग कर रहा हूं।

सबसे पहले, विज़ुअल स्टूडियो में कंसोल आपको पर्याप्त विवरण नहीं देता है कि परीक्षण क्यों नहीं मिल सके; यह परीक्षण के साथ DLL को लोड करने में विफल हो जाएगा। इसलिए कमांड लाइन पर NUnit3console.exe का उपयोग करें क्योंकि यह आपको अधिक विवरण देता है।

मेरे मामले में, यह इसलिए था क्योंकि परीक्षण एडाप्टर F # Core DLL (4.4.1.0) (F # 4.1) के नए संस्करण की तलाश में था, जबकि मैं अभी भी 4.4.0.0 (F # 4.0) का उपयोग कर रहा हूं। इसलिए मैंने इसे परीक्षण परियोजना के app.config में जोड़ा: -

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

पूर्व F # कोर के लिए पुनर्निर्देशित।


0

मुझे भी यही समस्या थी, जब अचानक टेस्ट एक्सप्लोरर विंडो पर कोई भी टेस्ट नहीं हुआ। मेरे पास "NUnit3TestAdapter" का अद्यतन संस्करण है

और बहुत सी खोजों और प्रयासों के बाद, मैंने पाया कि मुझे प्रोजेक्ट गुणों में निम्न मान सेट करने की आवश्यकता है: [समाधान एक्सप्लोरर विंडो में: प्रोजेक्ट पर राइट क्लिक करें> प्रॉपर्टीज़] बिल्ड टैब के तहत, प्लेटफ़ॉर्म = x64 सेट करें और प्लेटफ़ॉर्म लक्ष्य = x86 सेट करें या कोई भी CPU प्रोजेक्ट बनाएँ और सभी परीक्षण Test Explorer विंडो पर दिखाई देंगे।

महत्वपूर्ण नोट: मैं आउटपुट विंडो में अगला संदेश देखने के बाद एक समाधान के लिए आया था:

"टेस्ट रन फ्रेमवर्क 45 और प्लेटफॉर्म X86 के लिए निर्मित DLL (एस) का उपयोग करेगा। DLL (एस) का अनुसरण रन का हिस्सा नहीं होगा: ऑटोमेशनटेस्ट.डेल फ्रेमवर्क फ्रेमवर्क 45 और प्लेटफॉर्म एक्स 64 के लिए बनाया गया है।"


0

मेरे पास कुछ msbuild.exe प्रक्रियाएँ थीं जिन्हें लटका दिया गया था। मुझे नहीं पता कि यह मेरी समस्या थी या नहीं, लेकिन इससे मुझे त्रिशंकु प्रक्रियाओं का पता चलने से पहले विभिन्न NUnit एडाप्टरों को फिर से स्थापित करने के साथ बहुत सी राह और त्रुटि मिली।


0

बस अपना $ .02 यहां जोड़ने के लिए, मैं कल ही एक ऐसे ही मुद्दे पर भाग गया, जहां मेरे 168 परीक्षण गायब थे। मैंने इस पोस्ट में सब कुछ करने की कोशिश की - सबसे विशेष रूप से यह सुनिश्चित करना कि मेरे संस्करण NUnit के समान थे - कोई फायदा नहीं हुआ। मुझे तब याद आया कि मेरे पास मेरे परीक्षण प्लेलिस्ट में विभाजित थे; और जब आप नए परीक्षण जोड़ते हैं तो ये स्वचालित रूप से अपडेट नहीं होते हैं । इसलिए, जब मैंने प्लेलिस्ट को हटा दिया, BAM! मेरे सभी परीक्षण एक बार फिर वापस आ गए।


-1

सुनिश्चित करें कि आपके परीक्षण परीक्षण विशेषता के साथ ठीक से चिह्नित हैं। यदि सभी परीक्षणों को केवल स्पष्ट विशेषता के साथ चिह्नित किया जाता है, तो TestAdapter स्थिरता को नहीं पहचानता है।

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