2013-02-01 31 views
10

मैं सी ++ अनुप्रयोगों को लिखने के लिए माइक्रोसॉफ्ट विजुअल स्टूडियो 2012 अल्टीमेट के साथ काम कर रहा हूं। मुझे अपने एमएसडीएनएए एक्सेस से वह संस्करण मिला। मेरी समस्या यह है कि मैं लिखने वाले सी ++ कक्षाओं के लिए यूनिट परीक्षण बनाना चाहता हूं।सी ++ विजुअल स्टूडियो 2012 में यूनिट टेस्ट

कृपया ध्यान दें: यह अनुरूप सी ++ मानक है, मिश्रित कुछ भी नहीं है, कोई सी #, यह सिर्फ सी ++ कि भी जी ++ के साथ संकलित किया जा सकता है।

के तहत फ़ाइल -> नई -> परियोजना -> विजुअल C++ एक "प्रबंधित testproject" की तरह कुछ मौजूद है:

लेकिन जब मैं इस तरह के एक परियोजना मैं संदर्भ जोड़ने के लिए यह प्रबंधन नहीं कर सकते बनाने जैसे "MyClass.h" और संकलन करने के लिए। और मुझे इसके लिए एक सरल ट्यूटोरियल नहीं मिल रहा है।

क्या कोई मुझे विजुअल स्टूडियो 2012 के साथ एक सरल सी ++ यूनिट टेस्ट सेट अप करने के तरीके में मदद कर सकता है?

+0

सिर्फ उत्सुक, आप जर्मन संस्करण में क्यों काम कर रहे हैं और इसके बारे में अंग्रेजी भाषा प्रश्नोत्तर साइट पर सहायता मांग रहे हैं? – TemplateRex

+11

क्योंकि मैं अंग्रेजी बोलने में सक्षम हूं और ऐसी कोई जर्मन साइट नहीं है जो इस के रूप में अक्सर होती है? मैं एक जर्मन या अंग्रेजी दृश्य स्टूडियो के बीच नहीं चुना जा सका – Anonymous

उत्तर

15

आप टेस्ट परियोजना और मूल निवासी यूनिट टेस्ट परियोजना प्रबंधित सी ++ इकाई परीक्षण के लिए दो विकल्प हैं। आपको मूल का चयन करना चाहिए, और उसके बाद बस जो भी आप चाहते हैं उसे जोड़ें और परीक्षण लिखें।

यहां एक डमी उदाहरण है जहां मैं "foo.h" हेडर शामिल करता हूं, foo को तुरंत चालू करता हूं और इसकी विधियों में से एक को कॉल करता हूं।

#include "stdafx.h" 

#include "..\foo.h" // <- my header 

#include "CppUnitTest.h" 
using namespace Microsoft::VisualStudio::CppUnitTestFramework; 

namespace UnitTest1 
{  
    TEST_CLASS(UnitTest1) 
    { 
    public: 

     TEST_METHOD(TestMethod1) 
     { 
      foo f; 
      Assert::AreEqual(f.run(), true); 
     } 
    }; 
} 

अधिक के लिए Unit testing existing C++ applications with Test Explorer देखें।

+0

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

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

  • कोई संबंधित समस्या नहीं^_^