2009-10-27 11 views
9

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

+0

क्या आप समांतर कॉल का उपयोग करके बहु-थ्रेडेड घटक का परीक्षण करने के बारे में बात कर रहे हैं? – falstro

+0

मैं एमबीयूनीट का उपयोग करके कई यूनिट परीक्षण (एक साथ) चल रहा हूं, जिसमें इकाई परीक्षणों के लिए समांतर विशेषता/सजावट है - यह मशीन पर कोर के समानांतर में कई परीक्षण चलाएगा। (जाहिर है!) –

+0

आह, उत्कृष्ट! :) – falstro

उत्तर

5

यदि समानांतर यूनिट परीक्षणों से आप का मतलब है कि परीक्षण एक साथ चल सकते हैं, तो सबसे महत्वपूर्ण सलाह जो मैं आपको तथाकथित साझा फिक्स्चर से बचने के लिए दे सकता हूं।

पुस्तक xUnit Test Patterns अवधि स्थिरता, जो मूल रूप से पूरे संदर्भ में प्रत्येक परीक्षण का मामला लगातार और क्षणिक डेटा सहित कार्यान्वित करता है, के रूप में वर्णित किया जा सकता है का वर्णन।

एक साझा स्थिरता इंगित करता है कि परीक्षण के दौरान परीक्षण के मामले कुछ संदर्भ साझा करते हैं। यदि वह संदर्भ उत्परिवर्तनीय है, तो दौड़ की स्थिति हो सकती है।

साझा की गई स्थिरता को अपरिवर्तनीय रखना (एक तथाकथित अपरिवर्तनीय साझा स्थिरता) आपको समानांतर में परीक्षण चलाने की अनुमति देगा, लेकिन बेहतर, तथाकथित ताजा फिक्स्चर (जहां प्रत्येक टेस्ट केस का अपना स्थिरता होता है) थ्रेड-सुरक्षित हैं परिभाषा के अनुसार, क्योंकि केवल टेस्ट केस ही स्थिरता तक पहुंच प्राप्त करता है।

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

आपको यह भी ध्यान में रखना चाहिए कि यदि आपका एसयूटी साझा (स्थिर) डेटा तक पहुंचता है, तो वह एक्सेस स्वयं थ्रेड-सुरक्षित होना चाहिए।

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

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