• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

KUnitTest

  • KUnitTest
  • Runner
Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions

KUnitTest::Runner Class Reference

#include <runner.h>

Inheritance diagram for KUnitTest::Runner:
Inheritance graph
[legend]

List of all members.

Public Slots

void reset ()
void runMatchingTests (const QString &prefix)
void runTest (const char *name)
int runTests ()

Signals

void finished (const char *name, Tester *test)
void invoke ()

Public Member Functions

int numberOfExpectedFailures () const
int numberOfFailedTests () const
int numberOfPassedTests () const
int numberOfSkippedTests () const
int numberOfTestCases ()
int numberOfTests () const
Registry & registry ()

Static Public Member Functions

static void loadModules (const QString &folder, const QString &query)
static void registerTester (const char *name, Tester *test)
static Runner * self ()
static void setDebugCapturingEnabled (bool enabled)

Protected Member Functions

 Runner ()

Detailed Description

The Runner class holds a list of registered Tester classes and is able to run those test cases. The Runner class follows the singleton design pattern, which means that you can only have one Runner instance. This instance can be retrieved using the Runner::self() method.

The registry is an object of type Registry, it is able to map the name of a test to a pointer to a Tester object. The registry is also a singleton and can be accessed via Runner::registry(). Since there is only one registry, which can be accessed at all times, test cases can be added without having to worry if a Runner instance is present or not. This allows for a design in which the KUnitTest library can be kept separate from the test case sources. Test cases (classes inheriting from Tester) can be added using the static registerTester(const char *name, Tester *test) method. Allthough most users will want to use the KUNITTEST_REGISTER_TESTER macro.

See also:
KUNITTEST_REGISTER_TESTER

Definition at line 87 of file runner.h.


Constructor & Destructor Documentation

KUnitTest::Runner::Runner ( ) [protected]

Definition at line 117 of file runner.cpp.


Member Function Documentation

void KUnitTest::Runner::finished ( const char *  name,
Tester *  test 
) [signal]

Emitted after a test is finished.

Parameters:
nameThe name of the test.
testA pointer to the Tester object.
void KUnitTest::Runner::invoke ( ) [signal]
void KUnitTest::Runner::loadModules ( const QString &  folder,
const QString &  query 
) [static]

Load all modules found in the folder.

Parameters:
folderThe folder where to look for modules.
queryA regular expression. Only modules which match the query will be run.

Definition at line 56 of file runner.cpp.

int KUnitTest::Runner::numberOfExpectedFailures ( ) const
Returns:
The number of failed tests which were expected.

Definition at line 137 of file runner.cpp.

int KUnitTest::Runner::numberOfFailedTests ( ) const
Returns:
The number of failed tests, this includes the number of expected failures.

Definition at line 132 of file runner.cpp.

int KUnitTest::Runner::numberOfPassedTests ( ) const
Returns:
The number of passed tests.

Definition at line 127 of file runner.cpp.

int KUnitTest::Runner::numberOfSkippedTests ( ) const
Returns:
The number of skipped tests.

Definition at line 142 of file runner.cpp.

int KUnitTest::Runner::numberOfTestCases ( )
Returns:
The number of registered test cases.

Definition at line 103 of file runner.cpp.

int KUnitTest::Runner::numberOfTests ( ) const
Returns:
The number of finished tests.

Definition at line 122 of file runner.cpp.

void KUnitTest::Runner::registerTester ( const char *  name,
Tester *  test 
) [static]

Registers a test case. A registry will be automatically created if necessary.

Parameters:
nameThe name of the test case.
testA pointer to a Tester object.

Definition at line 51 of file runner.cpp.

Registry & KUnitTest::Runner::registry ( )
Returns:
The registry holding all the Tester objects.

Definition at line 98 of file runner.cpp.

void KUnitTest::Runner::reset ( ) [slot]

Reset the Runner in order to prepare it to run one or more tests again.

Definition at line 147 of file runner.cpp.

void KUnitTest::Runner::runMatchingTests ( const QString &  prefix) [slot]

Call this slot to run tests with names starting with prefix.

Parameters:
prefixOnly run tests starting with the string prefix.

Definition at line 202 of file runner.cpp.

void KUnitTest::Runner::runTest ( const char *  name) [slot]

Call this slot to run a single test.

Parameters:
nameThe name of the test case. This name has to correspond to the name that was used to register the test. If the KUNITTEST_REGISTER_TESTER macro was used to register the test case then this name is the class name.

Definition at line 210 of file runner.cpp.

int KUnitTest::Runner::runTests ( ) [slot]

Call this slot to run all the registered tests.

Returns:
The number of finished tests.

Definition at line 157 of file runner.cpp.

Runner * KUnitTest::Runner::self ( ) [static]
Returns:
The global Runner instance. If necessary an instance will be created.

Definition at line 108 of file runner.cpp.

void KUnitTest::Runner::setDebugCapturingEnabled ( bool  enabled) [static]

The runner can spit out special debug messages needed by the Perl script: kunittest_debughelper. This script can attach the debug output of each suite to the results in the KUnitTest GUI. Not very useful for console minded developers, so this static method can be used to disable those debug messages.

Parameters:
enabledIf true the debug messages are enabled (default), otherwise they are disabled.

Definition at line 92 of file runner.cpp.


The documentation for this class was generated from the following files:
  • runner.h
  • runner.cpp

KUnitTest

Skip menu "KUnitTest"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal