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 
4 #include <cppunit/Portability.h>
5 #include <cppunit/Exception.h>
7 
9 
10 
43 template<class ExpectedException>
45 {
46 public:
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 CPPUNIT_USE_TYPEINFO_NAME
80  throw Exception( Message(
81  "expected exception not thrown",
82  "Expected exception type: " +
83  TypeInfoHelper::getClassName(
84  typeid( ExpectedExceptionType ) ) ) );
85 #else
86  throw Exception( Message("expected exception not thrown") );
87 #endif
88  }
89 
90 private:
95  virtual void checkException( ExpectedExceptionType & )
96  {
97  }
98 };
99 
100 
102 
103 #endif // CPPUNIT_EXTENSIONS_EXCEPTIONTESTCASEDECORATOR_H
104 
Exceptions thrown by failed assertions.Exception is an exception that serves descriptive strings thro...
Definition: Exception.h:19
Expected exception test case decorator.
Definition: ExceptionTestCaseDecorator.h:44
ExpectedException ExpectedExceptionType
Definition: ExceptionTestCaseDecorator.h:47
virtual void checkException(ExpectedExceptionType &)
Called when the exception is caught.
Definition: ExceptionTestCaseDecorator.h:95
void runTest()
FIXME: this should probably be pure virtual.
Definition: TestCaseDecorator.cpp:41
ExceptionTestCaseDecorator(TestCase *test)
Decorates the specified test.
Definition: ExceptionTestCaseDecorator.h:52
#define CPPUNIT_NS_END
Definition: Portability.h:120
#define CPPUNIT_NS_BEGIN
Definition: Portability.h:119
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:38
A single test object.
Definition: TestCase.h:27
Decorator for Test cases.
Definition: TestCaseDecorator.h:18

Send comments to:
CppUnit Developers