|
Packit Service |
e31359 |
#ifndef CPPUNIT_UI_TEXT_TEXTTESTRUNNER_H
|
|
Packit Service |
e31359 |
#define CPPUNIT_UI_TEXT_TEXTTESTRUNNER_H
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
#include <cppunit/Portability.h>
|
|
Packit Service |
e31359 |
#include <string>
|
|
Packit Service |
e31359 |
#include <cppunit/TestRunner.h>
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
CPPUNIT_NS_BEGIN
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
class Outputter;
|
|
Packit Service |
e31359 |
class Test;
|
|
Packit Service |
e31359 |
class TestSuite;
|
|
Packit Service |
e31359 |
class TextOutputter;
|
|
Packit Service |
e31359 |
class TestResult;
|
|
Packit Service |
e31359 |
class TestResultCollector;
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
/*!
|
|
Packit Service |
e31359 |
* \brief A text mode test runner.
|
|
Packit Service |
e31359 |
* \ingroup WritingTestResult
|
|
Packit Service |
e31359 |
* \ingroup ExecutingTest
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* The test runner manage the life cycle of the added tests.
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* The test runner can run only one of the added tests or all the tests.
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* TestRunner prints out a trace as the tests are executed followed by a
|
|
Packit Service |
e31359 |
* summary at the end. The trace and summary print are optional.
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* Here is an example of use:
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* \code
|
|
Packit Service |
e31359 |
* CppUnit::TextTestRunner runner;
|
|
Packit Service |
e31359 |
* runner.addTest( ExampleTestCase::suite() );
|
|
Packit Service |
e31359 |
* runner.run( "", true ); // Run all tests and wait
|
|
Packit Service |
e31359 |
* \endcode
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* The trace is printed using a TextTestProgressListener. The summary is printed
|
|
Packit Service |
e31359 |
* using a TextOutputter.
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* You can specify an alternate Outputter at construction
|
|
Packit Service |
e31359 |
* or later with setOutputter().
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* After construction, you can register additional TestListener to eventManager(),
|
|
Packit Service |
e31359 |
* for a custom progress trace, for example.
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* \code
|
|
Packit Service |
e31359 |
* CppUnit::TextTestRunner runner;
|
|
Packit Service |
e31359 |
* runner.addTest( ExampleTestCase::suite() );
|
|
Packit Service |
e31359 |
* runner.setOutputter( CppUnit::CompilerOutputter::defaultOutputter(
|
|
Packit Service |
e31359 |
* &runner.result(),
|
|
Packit Service |
e31359 |
* std::cerr ) );
|
|
Packit Service |
e31359 |
* MyCustomProgressTestListener progress;
|
|
Packit Service |
e31359 |
* runner.eventManager().addListener( &progress );
|
|
Packit Service |
e31359 |
* runner.run( "", true ); // Run all tests and wait
|
|
Packit Service |
e31359 |
* \endcode
|
|
Packit Service |
e31359 |
*
|
|
Packit Service |
e31359 |
* \see CompilerOutputter, XmlOutputter, TextOutputter.
|
|
Packit Service |
e31359 |
*/
|
|
Packit Service |
e31359 |
class CPPUNIT_API TextTestRunner : public CPPUNIT_NS::TestRunner
|
|
Packit Service |
e31359 |
{
|
|
Packit Service |
e31359 |
public:
|
|
Packit Service |
e31359 |
TextTestRunner( Outputter *outputter =NULL );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
virtual ~TextTestRunner();
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
bool run( std::string testPath ="",
|
|
Packit Service |
e31359 |
bool doWait = false,
|
|
Packit Service |
e31359 |
bool doPrintResult = true,
|
|
Packit Service |
e31359 |
bool doPrintProgress = true );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
void setOutputter( Outputter *outputter );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
TestResultCollector &result() const;
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
TestResult &eventManager() const;
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
public: // overridden from TestRunner (to avoid hidden virtual function warning)
|
|
Packit Service |
e31359 |
virtual void run( TestResult &controller,
|
|
Packit Service |
e31359 |
const std::string &testPath = "" );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
protected:
|
|
Packit Service |
e31359 |
virtual void wait( bool doWait );
|
|
Packit Service |
e31359 |
virtual void printResult( bool doPrintResult );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
private:
|
|
Packit Service |
e31359 |
// prohibit copying
|
|
Packit Service |
e31359 |
TextTestRunner( const TextTestRunner& );
|
|
Packit Service |
e31359 |
// prohibit copying
|
|
Packit Service |
e31359 |
TextTestRunner& operator=( const TextTestRunner& );
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
TestResultCollector *m_result;
|
|
Packit Service |
e31359 |
TestResult *m_eventManager;
|
|
Packit Service |
e31359 |
Outputter *m_outputter;
|
|
Packit Service |
e31359 |
};
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
CPPUNIT_NS_END
|
|
Packit Service |
e31359 |
|
|
Packit Service |
e31359 |
#endif // CPPUNIT_UI_TEXT_TEXTTESTRUNNER_H
|