Application Class Reference

#include <Pt/Unit/Application.h>

Run registered tests. More...

Inherits Test.

Public Member Functions

 Application ()
 Default Constructor.
 
virtual ~Application ()
 Destructor.
 
TestfindTest (const std::string &testname)
 Find a test by name. More...
 
void attachReporter (Reporter &r)
 Add reporter for test events. More...
 
void attachReporter (Reporter &r, const std::string &testname)
 Add reporter for test events. More...
 
void run (const std::string &testName)
 Run test by name. More...
 
virtual void run ()
 Run all tests. More...
 
unsigned errors () const
 Returns the number of errors which occured during a run.
 
void registerTest (Test &test)
 Register a test. More...
 

Static Public Member Functions

static Applicationinstance ()
 Returns the instance.
 
static std::list< Test * > & tests ()
 Returns a list of all registered test TODO: find another way to query available tests. More...
 

Detailed Description

The application class serves as an environment for a number of tests to be run. An application object is usually created in the main loop of a program and the return value of Unit::Application::run returned. A reporter can be set for the application to process test events. Reporters can be made to print information to the console or write XML logs. A typical example may look like this:

int main()
{
app.setReporter(reporter);
return app.run();
}

The TestMain.h include already defines a main loop with an application for the common use case.

Member Function Documentation

◆ findTest()

Test* findTest ( const std::string &  testname)

Returns a pointer to the found test or 0 if not found.

◆ attachReporter() [1/2]

void attachReporter ( Reporter r)

Adds the reporter r to report test events.

◆ attachReporter() [2/2]

void attachReporter ( Reporter r,
const std::string &  testname 
)

Adds the reporter r to report test events of the test name testname.

◆ run() [1/2]

void run ( const std::string &  testName)

This method will run a previously registered test. Use the RegisterTest<T> template to register a test to the application.

Parameters
testNamename of the test to be run

◆ run() [2/2]

virtual void run ( )
virtual

This method will run all tests that have been registered previously. Use the RegisterTest<T> template to register a test to the application.

Implements Test.

◆ registerTest()

void registerTest ( Test test)

Registers the test test to the application. The application will not own the test and the caller has to make sure it exists as long as the application object. Tests can be deregistered by calling deregisterTest.

◆ tests()

static std::list<Test*>& tests ( )
static
Returns
Reference to the registered tests.
Test event reporter
Definition: Reporter.h:56
void run(const std::string &testName)
Run test by name.
Run registered tests.
Definition: Application.h:65