CppUnit में परीक्षण विफलताओं की रिपोर्टिंग एक कस्टम अपवाद प्रकार के फेंक के माध्यम से किया जाता है:
स्यूडोकोड में, यह कुछ इस तरह हो जाएगा। हम जानते हैं कि यहाँ CppUnitException
सादगी के लिए फोन करता हूँ।
CPPUNIT_ASSERT_THROW
एक मैक्रो है कि कुछ अनिवार्य रूप से यह है कि करने के लिए विस्तार होगा है:
try
{
expression;
throw CppUnitException("Expected expression to throw");
}
catch(const ExceptionType & e)
{
}
तो expression
फेंकता है (जैसा कि हम यह करने के लिए उम्मीद थी), हम catch
ब्लॉक जो कुछ नहीं करता है में आते हैं।
तो expression
करता नहीं फेंक, कोड की पंक्ति है कि CppUnitException
जो एक परीक्षण की विफलता को गति प्रदान करेगा फेंकता के निष्पादन आय।
बेशक, CPPUNIT_ASSERT_THROW
मैक्रो का कार्यान्वयन वास्तव में थोड़ा सा प्रशंसक है ताकि रेखा और फ़ाइल की जानकारी भी रिपोर्ट की जा सके, लेकिन यह सामान्य काम है कि यह कैसे काम करता है।
स्रोत
2010-04-23 09:26:53