module.h File Reference

#include <qstring.h>
#include <klibloader.h>
#include <kunittest/runner.h>

Go to the source code of this file.

Namespaces

namespace  KUnitTest

Defines

#define KUNITTEST_MODULE(library, suite)
#define KUNITTEST_MODULE_REGISTER_TESTER(tester)
#define KUNITTEST_MODULE_REGISTER_NAMEDTESTER(name, tester)

Detailed Description

Provides macros to ease building unit tests as shared libraries

Definition in file module.h.


Define Documentation

#define KUNITTEST_MODULE ( library,
suite   ) 

Use this macro if you are creating a KUnitTest module named library. This macro creates a module-class named a factory class. The module will appear under the name suite in the test runner. There is no need in calling the K_EXPORT_COMPONENT_FACTORY macro, this is taken care of automatically.

 KUNITTEST_MODULE(kunittest_samplemodule,"TestSuite") 

Definition at line 50 of file module.h.

#define KUNITTEST_MODULE_REGISTER_NAMEDTESTER ( name,
tester   ) 
Value:
static class tester##ModuleAutoregister                                                   \
    {                                                                                         \
    public:                                                                                   \
        tester##ModuleAutoregister()                                                          \
        {                                                                                     \
            QString fullName = s_kunittest_suite + QString("::") + QString::fromLocal8Bit(name); \
            KUnitTest::Tester *test = new tester(fullName.local8Bit());                       \
            kunittest_registerModuleTester(fullName.local8Bit(), test);                       \
        }                                                                                     \
    } tester##ModuleAutoregisterInstance;

Use this macro to add a tester class, with specified name, to your module..

 KUNITTEST_MODULE_REGISTER_TESTER("SubSuite::PrettyName",SimpleSampleTester) 

Definition at line 107 of file module.h.

#define KUNITTEST_MODULE_REGISTER_TESTER ( tester   ) 
Value:
static class tester##ModuleAutoregister                                                     \
    {                                                                                           \
    public:                                                                                     \
        tester##ModuleAutoregister()                                                            \
        {                                                                                       \
            KUnitTest::Tester *test = new tester();                                             \
            QString name = s_kunittest_suite + QString::fromLatin1("::") + QString::fromLocal8Bit(#tester); \
            test->setName(name.local8Bit());                                                    \
            kunittest_registerModuleTester(name.local8Bit(), test );                            \
        }                                                                                       \
    } tester##ModuleAutoregisterInstance;

Use this macro to add a tester class to your module. The name of the tester will be identical to the class name.

 KUNITTEST_MODULE_REGISTER_TESTER(SimpleSampleTester) 

Definition at line 89 of file module.h.

KDE Home | KDE Accessibility Home | Description of Access Keys