2008-10-05 15 views
25

मेरे पास बूस्ट यूनिट टेस्ट केस है जो ऑब्जेक्ट के तहत अपवाद फेंकने का परीक्षण करता है (यह परीक्षण है, अपवाद का कारण बनता है)। मैं उस विशेष अपवाद की अपेक्षा करने के लिए परीक्षण में कैसे निर्दिष्ट करूं।आप कैसे निर्दिष्ट करते हैं कि Boost.Test का उपयोग करके अपवाद की अपेक्षा की जानी चाहिए?

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

उत्तर

41

यह काम नहीं करता है?

BOOST_CHECK_THROW (expression, an_exception_type); 

यदि अभिव्यक्ति दिए गए अपवाद प्रकार को फेंक देती है या अन्यथा विफल हो जाती है तो परीक्षण को पास करना चाहिए। यदि आपको 'चेक' की तुलना में एक अलग गंभीरता की आवश्यकता है, तो आप इसके बजाय BOOST_WARN_THROW() या BOOST_REQUIRE_THROW() का भी उपयोग कर सकते हैं। the documentation

10

आप BOOST_CHECK_EXCEPTION का भी उपयोग कर सकते हैं, जो आपको परीक्षण कार्य निर्दिष्ट करने की अनुमति देता है जो आपके अपवाद को मान्य करता है।

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

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