CppUnit project page FAQ

ExceptionTestCaseDecorator.h
Go to the documentation of this file.
1#ifndef CPPUNIT_EXTENSIONS_EXCEPTIONTESTCASEDECORATOR_H
2#define CPPUNIT_EXTENSIONS_EXCEPTIONTESTCASEDECORATOR_H
3
5#include <cppunit/Exception.h>
7
9
10
43template<class ExpectedException>
45{
46public:
47 typedef ExpectedException ExpectedExceptionType;
48
53 : TestCaseDecorator( test )
54 {
55 }
56
65 void runTest()
66 {
67 try
68 {
70 }
71 catch ( ExpectedExceptionType &e )
72 {
73 checkException( e );
74 return;
75 }
76
77 // Moved outside the try{} statement to handle the case where the
78 // expected exception type is Exception (expecting assertion failure).
79#if defined(CPPUNIT_USE_TYPEINFO_NAME)
80 throw Exception( Message(
81 "expected exception not thrown",
82 "Expected exception type: " +
84 typeid( ExpectedExceptionType ) ) ) );
85#else
86 throw Exception( Message("expected exception not thrown") );
87#endif
88 }
89
90private:
96 {
97 }
98};
99
100
102
103#endif // CPPUNIT_EXTENSIONS_EXCEPTIONTESTCASEDECORATOR_H
104
#define CPPUNIT_NS_END
Definition Portability.h:106
#define CPPUNIT_NS_BEGIN
Definition Portability.h:105
Exceptions thrown by failed assertions.
Definition Exception.h:20
Expected exception test case decorator.
Definition ExceptionTestCaseDecorator.h:45
ExceptionTestCaseDecorator(TestCase *test)
Decorates the specified test.
Definition ExceptionTestCaseDecorator.h:52
virtual void checkException(ExpectedExceptionType &)
Called when the exception is caught.
Definition ExceptionTestCaseDecorator.h:95
ExpectedException ExpectedExceptionType
Definition ExceptionTestCaseDecorator.h:47
void runTest()
Checks that the expected exception is thrown by the decorated test. is thrown.
Definition ExceptionTestCaseDecorator.h:65
Message associated to an Exception.A message is composed of two items:
Definition Message.h:35
Decorator for Test cases.
Definition TestCaseDecorator.h:19
void runTest()
FIXME: this should probably be pure virtual.
Definition TestCaseDecorator.cpp:41
A single test object.
Definition TestCase.h:29
static std::string getClassName(const std::type_info &info)
Get the class name of the specified type_info.
Definition TypeInfoHelper.cpp:15

Send comments to:
CppUnit Developers