2010-03-11 17 views
9

मैं हाल ही में सी # सी के बाद सी/सी ++ में लौट आया हूं। उन वर्षों के दौरान मुझे मॉकिंग और यूनिट परीक्षण का मूल्य मिला है।सी ++ मॉक/टेस्ट बूस्ट :: asio :: io_stream- आधारित असिंच हैंडलर

सी # में मोक्स और यूनिट परीक्षणों के लिए संसाधन ढूंढना मामूली है। डब्लूआरटी मॉकिंग, सी ++ के साथ इतना ज्यादा नहीं।

मैं दूसरों को नकल करने के साथ Asynch io_service हैंडलर का परीक्षण करने और परीक्षण करने के लिए कुछ मार्गदर्शन करना चाहता हूं।

उदाहरण के लिए, सी # में मैं एक आईओ.स्ट्रीम का नकल करने के लिए मेमोरीस्ट्रीम का उपयोग करता हूं, और मुझे लगता है कि यह वह रास्ता है जो मुझे यहां लेना चाहिए।

  • सी ++ नकली/टेस्ट सर्वोत्तम प्रथाओं
  • बढ़ावा :: asio :: नकली/टेस्ट सर्वोत्तम प्रथाओं io_service
  • सी ++ Async हैंडलर नकली/टेस्ट सर्वोत्तम प्रथाओं

मैं इस प्रक्रिया शुरू कर दिया है googlemock और googletest के साथ।

उत्तर

6

जैसा कि आप शायद पहले ही पाए गए हैं, सी #+ में सी ++ में मॉक करने के लिए बहुत कम मदद है। व्यक्तिगत रूप से मैं अपने स्वयं के मोजे लिखता हूं और जब मुझे ढांचे का उपयोग करने की बजाय आवश्यकता होती है। चूंकि मेरे अधिकांश डिज़ाइन इंटरफ़ेस पर भारी होते हैं, यह मेरे लिए विशेष रूप से कठिन नहीं होता है और मैं एक 'नकली लाइब्रेरी' बनाना चाहता हूं जो कि मैं विकसित कर रहा हूं। मेरे 'प्रैक्टिकल टेस्टिंग' आलेखों में मैं कैसे करता हूं इसका एक उदाहरण here पाया जा सकता है। अंत में यह सी # में नकल करने और परीक्षण करने के लिए अलग नहीं है, वही सिद्धांत लागू होते हैं, आप अपने आप को भारी उठाने के लिए और अधिक कर देते हैं।

+0

यह वास्तव में सहायक है। यह मेरी गोलियों के पहले जवाब देने का एक लंबा रास्ता तय करता है। मैं बूस्ट :: asio :: io_service का उपयोग करके एसिंक्रोनस I/O का नकल/परीक्षण करने के तरीके के बारे में कुछ प्रत्यक्ष मार्गदर्शन की उम्मीद कर रहा था। – rbellamy

+0

क्षमा करें, मैं एएसआईओ का उपयोग नहीं करता, मेरे पास अपना स्वयं का एसिंक I/O ढांचा है। –

+2

भी, माइकल फेदर द्वारा लीगेसी कोड के साथ प्रभावी ढंग से कार्य करने पर एक नज़र डालें। मैंने पाया कि एक अच्छा संसाधन होना, और सीमों की पहचान करने और अपने स्वयं के मोजे स्थापित करने में मदद करने के लिए बहुत उपयोगी है। – Tim

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