CppUnit project page FAQ CppUnit home page

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Creating TestSuite


Classes

class  TestFactoryRegistry
 Registry for TestFactory. More...
class  TestSuite
 A Composite of Tests. More...

Defines

#define CPPUNIT_TEST_SUITE_REGISTRATION(ATestFixtureType)
#define CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(ATestFixtureType, suiteName)
 Adds the specified fixture suite to the specified registry suite.
#define CPPUNIT_REGISTRY_ADD(which, to)
#define CPPUNIT_REGISTRY_ADD_TO_DEFAULT(which)

Define Documentation

#define CPPUNIT_REGISTRY_ADD which,
to   ) 
 

Value:

static CPPUNIT_NS::AutoRegisterRegistry                                     \
             CPPUNIT_MAKE_UNIQUE_NAME( autoRegisterRegistry__ )( which, to )
Adds that the specified registry suite to another registry suite.

Use this macros to automatically create test registry suite hierarchy. For example, if you want to create the following hierarchy:

  • Math
    • IntegerMath
    • FloatMath
      • FastFloat
      • StandardFloat

You can do this automatically with:

 CPPUNIT_REGISTRY_ADD( "FastFloat", "FloatMath" );
 CPPUNIT_REGISTRY_ADD( "IntegerMath", "Math" );
 CPPUNIT_REGISTRY_ADD( "FloatMath", "Math" );
 CPPUNIT_REGISTRY_ADD( "StandardFloat", "FloatMath" );

There is no specific order of declaration. Think of it as declaring links.

You register the test in each suite using CPPUNIT_TEST_SUITE_NAMED_REGISTRATION.

Parameters:
which Name of the registry suite to add to the registry suite named to.
to Name of the registry suite which is added to.
See also:
CPPUNIT_REGISTRY_ADD_TO_DEFAULT, CPPUNIT_TEST_SUITE_NAMED_REGISTRATION.

#define CPPUNIT_REGISTRY_ADD_TO_DEFAULT which   ) 
 

Value:

static CPPUNIT_NS::AutoRegisterRegistry                                \
             CPPUNIT_MAKE_UNIQUE_NAME( autoRegisterRegistry__ )( which )
Adds that the specified registry suite to the default registry suite.

This macro is just like CPPUNIT_REGISTRY_ADD except the specified registry suite is added to the default suite (root suite).

Parameters:
which Name of the registry suite to add to the default registry suite.
See also:
CPPUNIT_REGISTRY_ADD.

#define CPPUNIT_TEST_SUITE_NAMED_REGISTRATION ATestFixtureType,
suiteName   ) 
 

Value:

static CPPUNIT_NS::AutoRegisterSuite< ATestFixtureType >                   \
             CPPUNIT_MAKE_UNIQUE_NAME(autoRegisterRegistry__ )(suiteName)
Adds the specified fixture suite to the specified registry suite.

This macro declares a static variable whose construction causes a test suite factory to be inserted in the global registry suite of the specified name. The registry is available by calling the static function CppUnit::TestFactoryRegistry::getRegistry().

For the suite name, use a string returned by a static function rather than a hardcoded string. That way, you can know what are the name of named registry and you don't risk mistyping the registry name.

 // MySuites.h
 namespace MySuites {
   std::string math() { 
     return "Math";
   }
 }

 // ComplexNumberTest.cpp
 #include "MySuites.h"
 
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ComplexNumberTest, MySuites::math() );

Parameters:
ATestFixtureType Type of the test case class.
suiteName Name of the global registry suite the test suite is registered into.
Warning:
This macro should be used only once per line of code (the line number is used to name a hidden static variable).
See also:
CPPUNIT_TEST_SUITE_REGISTRATION

CPPUNIT_REGISTRY_ADD_TO_DEFAULT

CPPUNIT_REGISTRY_ADD

CPPUNIT_TEST_SUITE, CppUnit::AutoRegisterSuite, CppUnit::TestFactoryRegistry..

#define CPPUNIT_TEST_SUITE_REGISTRATION ATestFixtureType   ) 
 

Value:

static CPPUNIT_NS::AutoRegisterSuite< ATestFixtureType >       \
             CPPUNIT_MAKE_UNIQUE_NAME(autoRegisterRegistry__ )
Adds the specified fixture suite to the unnamed registry.

This macro declares a static variable whose construction causes a test suite factory to be inserted in a global registry of such factories. The registry is available by calling the static function CppUnit::TestFactoryRegistry::getRegistry().

Parameters:
ATestFixtureType Type of the test case class.
Warning:
This macro should be used only once per line of code (the line number is used to name a hidden static variable).
See also:
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION

CPPUNIT_REGISTRY_ADD_TO_DEFAULT

CPPUNIT_REGISTRY_ADD

CPPUNIT_TEST_SUITE, CppUnit::AutoRegisterSuite, CppUnit::TestFactoryRegistry.


SourceForge Logo hosts this site. Send comments to:
CppUnit Developers