CppUnit project page | FAQ | CppUnit home page

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CppUnitTestPlugIn Struct Reference
[Writing Test Plug-in]

Test plug-in interface. More...

`#include <TestPlugIn.h>`

Inheritance diagram for CppUnitTestPlugIn:

[legend]
List of all members.

## Public Member Functions
virtual void | initialize (CPPUNIT_NS::TestFactoryRegistry *registry, const CPPUNIT_NS::PlugInParameters &parameters)=0
| Called just after loading the dynamic library.
virtual void | addListener (CPPUNIT_NS::TestResult *eventManager)=0
| Gives a chance to the plug-in to register TestListener.
virtual void | removeListener (CPPUNIT_NS::TestResult *eventManager)=0
| Gives a chance to the plug-in to remove its registered TestListener.
virtual void | addXmlOutputterHooks (CPPUNIT_NS::XmlOutputter *outputter)=0
| Provides a way for the plug-in to register some XmlOutputterHook.
virtual void | removeXmlOutputterHooks ()=0
| Called when the XmlOutputter is destroyed.
virtual void | uninitialize (CPPUNIT_NS::TestFactoryRegistry *registry)=0
| Called just before unloading the dynamic library.
virtual | ~CppUnitTestPlugIn ()

## Detailed Description

Test plug-in interface.

This class define the interface implemented by test plug-in. A pointer to that interface is returned by the function exported by the test plug-in.

Plug-in are loaded/unloaded by PlugInManager. When a plug-in is loaded, initialize() is called. Before unloading the plug-in, the PlugInManager call uninitialize().

addListener() and removeListener() are called respectively before and after the test run.

addXmlOutputterHooks() and removeXmlOutputterHooks() are called respectively before and after writing the XML output using a XmlOutputter.

See also:
  CPPUNIT_PLUGIN_IMPLEMENT, CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL

  CppUnit::TestPlugInDefaultImpl, CppUnit::XmlOutputter.

## Constructor & Destructor Documentation

virtual CppUnitTestPlugIn::~CppUnitTestPlugIn | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

virtual void CppUnitTestPlugIn::initialize | ( | CPPUNIT_NS::TestFactoryRegistry * | registry,
|  | const CPPUNIT_NS::PlugInParameters & | parameters |
| ) |  |  | `[pure virtual]`

Called just after loading the dynamic library.

Override this method to add additional suite to the registry, though this is preferably done using the macros (CPPUNIT_TEST_SUITE_REGISTRATION...). If you are creating a custom listener to extends the plug-in runner, you can use this to configure the listener using the parameters.

You could also use the parameters to specify some global parameter, such as test datas location, database name...

N.B.: Parameters interface is not define yet, and the plug-in runner does not yet support plug-in parameter.

virtual void CppUnitTestPlugIn::addListener | ( | CPPUNIT_NS::TestResult * | eventManager | ) | `[pure virtual]`

Gives a chance to the plug-in to register TestListener.

Override this method to add a TestListener for the test run. This is useful if you are writing a custom TestListener, but also if you need to setUp some global resource: listen to TestListener::startTestRun(), and TestListener::endTestRun().

virtual void CppUnitTestPlugIn::removeListener | ( | CPPUNIT_NS::TestResult * | eventManager | ) | `[pure virtual]`

Gives a chance to the plug-in to remove its registered TestListener.

Override this method to remove a TestListener that has been added.

virtual void CppUnitTestPlugIn::addXmlOutputterHooks | ( | CPPUNIT_NS::XmlOutputter * | outputter | ) | `[pure virtual]`

Provides a way for the plug-in to register some XmlOutputterHook.

virtual void CppUnitTestPlugIn::removeXmlOutputterHooks | ( |  | ) | `[pure virtual]`

Called when the XmlOutputter is destroyed.

Can be used to free some resources allocated by addXmlOutputterHooks().

Implemented in TestPlugInDefaultImpl.

virtual void CppUnitTestPlugIn::uninitialize | ( | CPPUNIT_NS::TestFactoryRegistry * | registry | ) | `[pure virtual]`

Called just before unloading the dynamic library.

Override this method to unregister test factory added in initialize(). This is necessary to keep the TestFactoryRegistry 'clean'. When the plug-in is unloaded from memory, the TestFactoryRegistry will hold reference on test that are no longer available if they are not unregistered.

The documentation for this struct was generated from the following file:

- TestPlugIn.h

| hosts this site. |  | Send comments to: CppUnit Developers