दिलचस्प पोस्ट
JQuery के $। एजेक्स का प्रयोग किसी एन्जुलर जेएस नियंत्रक के भीतर 3.1 रेलवे का उपयोग करते हुए, आप अपना "पृष्ठ विशिष्ट" जावास्क्रिप्ट कोड कहां डालते हैं? लगातार डेटा संग्रहण के लिए SQLite या साझा किए गए संदर्भ? अंतर के भीतर अंतर और आंतरिक एचटीएमएल सूची गतिशील जोड़ें आइटम दिखाएं कैसे एक UIView के शीर्ष की ओर बस एक सीमा जोड़ने के लिए जावा में आवरण क्लास प्रकार पाने के लिए आसान तरीका जावास्क्रिप्ट का उपयोग करने के लिए मैं जेसनसन को बहुत प्रिंट कैसे कर सकता हूं? एक प्रगति पट्टी के साथ एक फ़ाइल को एक HTTP फार्म के माध्यम से, MultipartEntityBuilder के माध्यम से अपलोड करें अनधिकृत उपयोग के लिए "दैनिक सीमा पार हो जाने के लिए रखें" जारी रखने के लिए साइन अप की आवश्यकता है "जब मेरे वेब ऐप पर google plus लॉगिन करने का प्रयास किया जाए अजगर के भीतर एक जावास्क्रिप्ट लिंक पर क्लिक करें? Android में SQLite डेटाबेस बनाएँ क्यों कक्षा में प्रारंभिक केवल = या {} उपयोग कर सकते हैं? जावा की पेंट विधि के साथ समस्याएं, हास्यास्पद रीफ्रेश वेग स्प्रिंग वेबसकेट @ सेंडटोसेशन: विशिष्ट सत्र को संदेश भेजें

विजुअल स्टूडियो 2005 पर Google सी ++ परीक्षण फ्रेमवर्क (गेटेस्ट) कैसे सेटअप करें

यह वेब साइट पर प्रलेखित नहीं है और लोगों को ढांचे की स्थापना में समस्या होने लगता है। क्या कोई कृपया नमूना प्रोजेक्ट सेटअप में चरण परिचय से कदम दिखा सकता है

Solutions Collecting From Web of "विजुअल स्टूडियो 2005 पर Google सी ++ परीक्षण फ्रेमवर्क (गेटेस्ट) कैसे सेटअप करें"

अरलाहारेन ने जो कहा था वह मूल रूप से सही था, सिवाय उसने उस भाग को छोड़ दिया जो आपके लिंकर त्रुटियों को बताता है सबसे पहले, आपको सीआरटी के बिना एक रनटाइम लाइब्रेरी के रूप में अपना आवेदन बनाने की आवश्यकता है। आपको हमेशा ऐसा करना चाहिए, क्योंकि यह वास्तव में आपके आवेदन का वितरण सरल करता है। यदि आप ऐसा नहीं करते हैं, तो आपके सभी उपयोगकर्ताओं को विजुअल सी ++ रनटाइम लाइब्रेरी स्थापित की ज़रूरत है, और जो लोग रहस्यमय डीएलएल के बारे में शिकायत नहीं करेंगे उनके सिस्टम पर लापता है … अतिरिक्त कुछ सौ किलोबाइट्स के लिए जो इसे लिंक करना पड़ता है सीआरटी स्थिर रूप से, आप बाद में समर्थन में अपने आप को बहुत सिरदर्द बचाते हैं (मुझे इस पर भरोसा है – मैंने इसे कठिन तरीके से सीखा है!)।

वैसे भी, ऐसा करने के लिए, आप लक्ष्य के गुण -> सी / सी ++ -> कोड जनरेशन -> रनटाइम लाइब्रेरी पर जाते हैं, और इसे आपके रिलीज़ बिल्ड और "बहु-थ्रेड डीबग" के लिए "बहु-थ्रेड" के रूप में सेट करने की आवश्यकता है आपका डीबग बिल्ड

चूंकि गैस्ट लाइब्रेरी उसी तरीके से बनाई गई है, आपको यह सुनिश्चित करने की आवश्यकता है कि आप इसे सही संस्करण के विरुद्ध जोड़ रहे हैं या नहीं, लिंकर रनटाइम लाइब्रेरी की दूसरी प्रति खींच लेंगे, जो कि आपने देखी गई त्रुटि (बीटीडब्ल्यू, यह अगर आप एमएफसी का उपयोग कर रहे हैं या नहीं) कोई फर्क नहीं पड़ेगा। आपको डीबग और रिलीज़ मोड दोनों के रूप में गेट बनाने और दोनों प्रतियों को बनाए रखने की आवश्यकता है। फिर आप अपने रिलीज बिल्ड और अपने डीबग बिल्ड में gtestd.lib / gtest_maind.lib में gtest.lib / gtest_main.lib के साथ लिंक कर सकते हैं।

इसके अलावा, आपको यह सुनिश्चित करने की ज़रूरत है कि आपका एप्लिकेशन उस निर्देशिका को इंगित करे जहां जीटेम हेडर फाइलें संचित हों (गुण -> सी / सी ++ -> जनरल -> अतिरिक्त डाइरेक्टरीज शामिल करें), लेकिन अगर आपको लिंकर त्रुटि मिलती है, तो मैं मानता हूं कि आप पहले से ही इस भाग को सही करने में कामयाब रहे हैं, या फिर पहले से निपटने के लिए आपके पास बहुत अधिक कंपाइलर त्रुटियां हैं।

(ये निर्देश डिबग कॉन्फ़िगरेशन के लिए काम कर रहे परीक्षण ढांचे को प्राप्त करते हैं। रिलीज़ कॉन्फ़िगरेशन में उसी प्रक्रिया को लागू करने के लिए बहुत तुच्छ होना चाहिए।)

Google C ++ परीक्षण फ्रेमवर्क प्राप्त करें

  1. नवीनतम गैट फ्रेमवर्क डाउनलोड करें
  2. C:\gtest

फ्रेमवर्क पुस्तकालय बनाएँ

  1. दृश्य स्टूडियो में ओपन C:\gtest\msvc\gtest.sln
  2. "डीबग" के लिए कॉन्फ़िगरेशन सेट करें
  3. समाधान बनाएँ

अपना टेस्ट प्रोजेक्ट बनाएं और कॉन्फ़िगर करें

  1. एक नया समाधान बनाएँ और टेम्पलेट का चयन करें दृश्य सी ++> Win32> Win32 कंसोल अनुप्रयोग
  2. नव निर्मित प्रोजेक्ट पर राइट क्लिक करें और गुण चुनें
  3. डीबग करने के लिए कॉन्फ़िगरेशन बदलें
  4. कॉन्फ़िगरेशन गुण> सी / सी ++> सामान्य> अतिरिक्त निर्देशिकाएं शामिल करें: C:\gtest\include जोड़ें C:\gtest\include
  5. कॉन्फ़िगरेशन गुण> सी / सी ++> कोड जनरेशन> रनटाइम लाइब्रेरी: यदि आपका कोड रनटाइम डीएलएल से जोड़ता है, तो बहु-थ्रेडेड डीबग डीएलएल (/ एमडीडी) चुनें। यदि नहीं, तो बहु-थ्रेडेड डिबग (/ एमटीडी) चुनें।
  6. कॉन्फ़िगरेशन गुण> लिंकर> सामान्य> अतिरिक्त लाइब्रेरी निर्देशिकाएँ: C:\gtest\msvc\gtest\Debug या C:\gtest\msvc\gtest-md\Debug , gtestd.lib के स्थान के आधार पर जोड़ें
  7. कॉन्फ़िगरेशन गुण> लिंकर> इनपुट> अतिरिक्त निर्भरता: gtestd.lib जोड़ें

सब कुछ वर्क्स की जांच

  1. अपने टेस्ट प्रोजेक्ट में सीपीपी खोलें जिसमें main() फ़ंक्शन शामिल है।
  2. निम्न कोड पेस्ट करें:

     #include "stdafx.h" #include <iostream> #include "gtest/gtest.h" TEST(sample_test_case, sample_test) { EXPECT_EQ(1, 1); } int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); RUN_ALL_TESTS(); std::getchar(); // keep console window open until Return keystroke } 
  3. डीबग करें> डीबग करना आरंभ करें

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

मैंने सेटअप के बारे में वीडियो ट्यूटोरियल किया था: http://www.youtube.com/watch?v=mzSzwQOmMRs

यदि आप परीक्षण के लिए अपना खुद का मुख्य () लिखना नहीं चाहते हैं, तो आप gtte_main.lib में परिभाषित मुख्य () फ़ंक्शन का उपयोग कर सकते हैं, लेकिन फिर आप लिंकर त्रुटियों को प्राप्त कर सकते हैं "प्रवेश बिंदु को परिभाषित किया जाना चाहिए" VS2012 में अपने परीक्षण-प्रोजेक्ट में ProjectProperties-> Linker-> System-> SubSystem को "कंसोल" के रूप में सेट करें क्योंकि इससे VS2012 को "मुख्य (") नामक एक प्रविष्टि बिंदु के लिए बाध्य किया जाएगा और इसे gtest_main.lib में मिलेगा (बशर्ते आपने लिंक किया है यह ठीक से)।

गेट बनाने के बाद, मैंने यही किया है:

  1. \ Mypath \ gestest-1.0.1 \ डीबग (या रिलीज) को आम गुण-> लिंकर-> सामान्य-> अतिरिक्त लाइब्रेरी निर्देशिकाओं में जोड़ें
  2. सामान्य गुणों के लिए gtest.lib और gtest_main.lib जोड़ें-> लिंकर-> इनपुट-> अतिरिक्त निर्भरता

उसके बाद मैं सिर्फ टेस्ट या TEST_F का प्रयोग करके अपने परीक्षणों को लिखता हूं और अपने मुख्य फ़ंक्शन के साथ उन्हें संकलित करता हूं:

 int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } 

माइक्रोसॉफ्ट विज़ुअल स्टूडियो में, गलत तरीके से कॉन्फ़िगर किए गए रनटाइम लाइब्रेरी प्रकार से लिंक त्रुटियाँ उत्पन्न होती हैं

वीएस 2005 (और 2008) मल्टीथ्रेडेड डीएलएल या मल्टीथ्रेडेड डीबग डीएलएल को डिफॉल्ट के तौर पर इस्तेमाल करता है। लेकिन Google टेस्ट लाइब्रेरी मूलभूत रूप से मुड़ीथ्रेडेड या मुलथ्रेडड डीबग रनटाइम का उपयोग करती है

इसलिए, Google परीक्षण लाइब्रेरी के लिए उपयुक्त रन टाइम लाइब्रेरी प्रकार चुनें। (कॉन्फ़िगरेशन गुण -> कोड जनरेशन -> रनटाइम लाइब्रेरी में)