2013-02-26 18 views
23

के खिलाफ कमांड लाइन से mstest चल रहा है मेरे पास कई देशी सी ++ परीक्षण परियोजनाओं के साथ एक विजुअल स्टूडियो 2012 समाधान है। मैं टेस्ट एक्सप्लोरर टैब का उपयोग कर विजुअल स्टूडियो 2012 के भीतर इन सभी को सही ढंग से और सफलतापूर्वक चला सकता हूं।विजुअल स्टूडियो 2012 मूल सी ++ परीक्षण

हालांकि, कमांड लाइन से चलते समय मुझे चलाने के लिए परीक्षण नहीं मिल सकते हैं।

दस्तावेज़ीकरण का अनुसरण मैं निम्नलिखित कमांड लाइन

mstest /testcontainer:PathToTestProject\Win32\Release\testproject.dll 

मैं भी कोड के 64 बिट संस्करण के परीक्षण के लिए

mstest /testcontainer:PathToTestProject\x64\Release\testproject.dll 

चलाने की आवश्यकता चलते रहे हैं।

जब मैं इन कमांड लाइनों को चलाता हूं तो मुझे निम्न त्रुटि संदेश मिलता है।

माइक्रोसॉफ्ट (आर) टेस्ट निष्पादन कमांड लाइन टूल संस्करण 11.0.50727.1 कॉपीराइट (सी) माइक्रोसॉफ्ट कॉर्पोरेशन। सर्वाधिकार सुरक्षित।

PathToTestProject \ Win32 \ रिलीज \ testproject.dll ... PathToTestProject लोड हो रहा है \ Win32 \ रिलीज \ testproject.dll परीक्षण PathToTestProject कंटेनर \ Win32 \ रिलीज \ testproject.dll 'या अपनी निर्भरता से एक लोड करने में असमर्थ। यदि आप 64 बिट असेंबली के रूप में अपनी टेस्ट प्रोजेक्ट असेंबली बनाते हैं, तो इसे लोड नहीं किया जा सकता है। जब आप अपनी टेस्ट प्रोजेक्ट असेंबली बनाते हैं, तो प्लेटफ़ॉर्म के लिए "कोई भी CPU" चुनें। 64 बिट प्रोसेसर पर 64 बिट मोड में अपने परीक्षण चलाने के लिए, आपको 32 बिट प्रक्रिया में अपने परीक्षण चलाने के लिए होस्ट टैब में अपनी टेस्ट सेटिंग्स बदलनी होंगी। त्रुटि विवरण: फ़ाइल या असेंबली फ़ाइल लोड नहीं हो सका: /// c: \ PathToTestProject \ Win32 \ release \ testproject.dll 'या इसकी निर्भरताओं में से एक। मॉड्यूल में एक असेंबली मैनिफेस्ट होने की उम्मीद थी।

कोड देशी सी ++ है और इसमें Win32 प्लेटफार्म पर दो बिल्ड कॉन्फ़िगरेशन हैं, और दूसरा x64 प्लेटफॉर्म पर है। मेरे पास कोई भी एसीसीपीयू प्लेटफ़ॉर्म कॉन्फ़िगरेशन नहीं हो सकता है। कमांड लाइन से परीक्षण चलाने में सक्षम होने के लिए मुझे क्या याद आ रही है?

उत्तर

48

बहुत सारी खोज के बाद, मैंने अंत में एक बहुत ही छिपी हुई एमएसडीएन दस्तावेज पृष्ठ here खोजा जो विभिन्न परीक्षण परियोजना प्रकारों के साथ mstest की संगतता बताता है। और यह पता चला है कि mstest देशी इकाई परीक्षणों के साथ संगत नहीं है (msdn का अच्छा यह स्थान खोजने में आसान है)। इसके बजाय आपको देशी यूनिट परीक्षण परियोजनाओं के लिए msbuild के बजाय दृश्य स्टूडियो परीक्षण (vstest.console.exe) का उपयोग करने की आवश्यकता है।

उदाहरण के लिए

vstest.console.exe /Platform:x64 PathToTestProject\x64\Release\testproject.dll 
+1

बस ... धन्यवाद – AndreiM

संबंधित मुद्दे