CppUnit project page FAQ

Public Member Functions | Protected Member Functions | List of all members
Protector Class Referenceabstract

Protects one or more test case run. More...

#include <Protector.h>

Inheritance diagram for Protector:
Inheritance graph
[legend]

Public Member Functions

virtual ~Protector ()
 
virtual bool protect (const Functor &functor, const ProtectorContext &context)=0
 

Protected Member Functions

void reportError (const ProtectorContext &context, const Exception &error) const
 
void reportError (const ProtectorContext &context, const Message &message, const SourceLine &sourceLine=SourceLine()) const
 
void reportFailure (const ProtectorContext &context, const Exception &failure) const
 
Message actualMessage (const Message &message, const ProtectorContext &context) const
 

Detailed Description

Protects one or more test case run.

Protector are used to globably 'decorate' a test case. The most common usage of Protector is to catch exception that do not subclass std::exception, such as MFC CException class or Rogue Wave RWXMsg class, and capture the message associated to the exception. In fact, CppUnit capture message from Exception and std::exception using a Protector.

Protector are chained. When you add a Protector using TestResult::pushProtector(), your protector is in fact passed as a Functor to the first protector of the chain.

TestCase protects call to setUp(), runTest() and tearDown() by calling TestResult::protect().

Because the protector chain is handled by TestResult, a protector can be active for a single test, or a complete test run.

Here are some possible usages:

Constructor & Destructor Documentation

◆ ~Protector()

Protector::~Protector ( )
virtual

Member Function Documentation

◆ actualMessage()

Message Protector::actualMessage ( const Message message,
const ProtectorContext context 
) const
protected

◆ protect()

virtual bool Protector::protect ( const Functor functor,
const ProtectorContext context 
)
pure virtual

Implemented in ProtectorChain, and DefaultProtector.

◆ reportError() [1/2]

void Protector::reportError ( const ProtectorContext context,
const Exception error 
) const
protected

◆ reportError() [2/2]

void Protector::reportError ( const ProtectorContext context,
const Message message,
const SourceLine sourceLine = SourceLine() 
) const
protected

◆ reportFailure()

void Protector::reportFailure ( const ProtectorContext context,
const Exception failure 
) const
protected

The documentation for this class was generated from the following files:

Send comments to:
CppUnit Developers