2011-07-13 10 views
5

मैं एक सी ++ परियोजना में Google परीक्षण का उपयोग कर रहा हूं। अमान्य इनपुट पैरामीटर की जांच के लिए कुछ फ़ंक्शन assert() का उपयोग करते हैं। मैंने पहले ही डेथ-टेस्ट (What are Google Test, Death Tests) के बारे में पढ़ा है और अपने परीक्षण मामलों में उनका उपयोग करना शुरू कर दिया है।Google परीक्षण का उपयोग करके assert() के कारण रनटाइम त्रुटियों को दबाने के लिए कैसे करें?

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

उत्तर

2

ठीक है, मुझे स्वयं समाधान मिला: आपको टेस्ट-स्टाइल threadsafe का चयन करना होगा। परीक्षण द्विआधारी या प्रभावित परीक्षण के लिए ही में सभी परीक्षणों के लिए

::testing::FLAGS_gtest_death_test_style = "threadsafe"; 

आप या तो यह कर सकते हैं: बस अपने परीक्षण कोड में निम्न पंक्ति जोड़ें। उत्तरार्द्ध तेज़ है। मुझे यह अद्यतन एफएक्यू से मिला: Googletest AdvancedGuide

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