2012-11-12 11 views
7

काम नहीं करता है मैं NuGet प्रबंधक का उपयोग कर विजुअल स्टूडियो 2012 एक्सप्रेस में सरल NUnit प्रोजेक्ट सेट अप करने का प्रयास कर रहा हूं। परियोजना से> NuGet पैकेज की व्यवस्था करें मैं NUnit (ढांचा) स्थापित किया है और NUnit.Runner जोड़ने चाहता था, लेकिन स्थापना के दौरान मैं प्राप्त कर रहा हूँ:NUnit. विजुअल स्टूडियो 2012 एक्सप्रेस पर Nuget के माध्यम से धावक

'NUnit.Runners 2.6.2' already installed. 

ठीक है, लेकिन जब मैं उपकरण> लाइब्रेरी पैकेज प्रबंधक के पास जाओ > समाधान दोनों के लिए nuGet संकुल प्रबंधित करें NNnit (ढांचे) और NUnit.Runners दोनों स्थापित के रूप में प्रदर्शित होते हैं।

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

क्या मुझे वीएस2012 या एनयूनिट कॉन्फ़िगरेशन में कुछ याद आ रही है?

उत्तर

6

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

4

वीएस2012 में निर्मित टेस्ट्रुनर का उपयोग क्यों नहीं करें और विस्तार प्रबंधक के माध्यम से नूनिट टेस्टाप्टर जोड़ें?

+0

हां, यह वैकल्पिक हल मैं के बारे में सोच रहा था। धन्यवाद। – Michal

5

तुम भी दृष्टिकोण sombody इस blog post की टिप्पणियों में उल्लेख इस्तेमाल कर सकते हैं:

  1. अपने परीक्षण विधानसभा में nunit-कंसोल-धावक के लिए एक संदर्भ जोड़ें।

  2. अपने परीक्षण विधानसभा में, निम्न एक लाइनर ( नीचे देखें)

  3. अपने परीक्षण विधानसभा के गुण खोलें के साथ एक वर्ग बनाते हैं। उदाहरण के लिए, असेंबली पर राइट-क्लिक करें और गुण चुनें।

    1. एप्लिकेशन टैब पर, आउटपुट प्रकार का चयन करें: विंडोज़ एप्लीकेशन; और स्टार्टअप ऑब्जेक्ट: NUNitConolseRunner (उपरोक्त फ़ाइल)।

    2. डीबग टैब पर, कमांड लाइन तर्क में .csproj फ़ाइल नाम दर्ज करें; और कार्य निर्देशिका में .csproj फ़ाइल के फ़ोल्डर को ब्राउज़ करें।

  4. सहेजें सब कुछ, एक ब्रेकपाइंट और चलाने का उपयोग कर F5 या हरे रंग का तीर बटन निर्धारित किया है।

कोड:

using System; 
namespace MotorExampleTests 
{  
    // Written by blokeley 
    class NUnitConsoleRunner 
    { 

    [STAThread] 
    static void Main(string[] args) 
    { 
     NUnit.ConsoleRunner.Runner.Main(args); 
    } 
    } 
} 
+0

मैंने इस दृष्टिकोण की कोशिश की लेकिन इसे काम नहीं कर सका। तो मैंने इसे काम करने के लिए एक रास्ता तय किया। इसके बजाय मैंने एक अलग कंसोल प्रोजेक्ट बनाया था और फिर निम्न पंक्ति को चलाकर मुख्य विधि से अपने परीक्षण चलाया: 'NUnit.ConsoleRunner.Runner.Main (नई स्ट्रिंग [] {@" सी: \ myprograms \ mysolution \ MyProject। टेस्ट \ bin \ Debug \ MyProject.Test.dll "});' – FernandoZ

+0

इसके अलावा यह मुझे उपरोक्त पोस्ट के सुझाव के रूप में एक एक्सई के बजाय एक डीएल के रूप में अपने परीक्षण रखने की अनुमति देता है। – FernandoZ

+0

हार्डकोडेड पथों के बजाय आप 'System.IO.Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly() के माध्यम से पथ प्राप्त कर सकते हैं। GetName()। CodeBase) ' – tobsen