diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-04-10 14:22:30 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-04-10 14:22:30 +0000 |
| commit | 6c2d743aed2eb4c0a960edaadc7366faa3b24c5c (patch) | |
| tree | b41f82e9b41c48e9dcb1cc59833dff26e88817d7 /include/cppunit/ui/text | |
| parent | 0e44bc8d5fa467b9d1c835b2e40b17f538e4bbe3 (diff) | |
| download | cppunit-6c2d743aed2eb4c0a960edaadc7366faa3b24c5c.tar.gz | |
Include/cppunitui/: moved to include/cppunit/ui (fix unix install problem).
include/cppunitui/: moved to include/cppunit/ui (fix unix install problem).
* doc/cookbook.dox:
* examples/cppunittest/CppUnitTestMain.cpp:
* examples/msvc/CppUnitTestApp/HostApp.cpp:
* examples/msvc/HostApp/HostApp.cpp:
* examples/qt/Main.Cpp:
* examples/src/cppunit/TestRunner.cpp:
* examples/src/msvc6/TestRunner/TestRunner.cpp:
* examples/src/qttestrunner/TestRunner.cpp: updated to use <cppunit/ui/...>
instead of <cppunitui/...> in include directives.
* doc/CppUnit-win.dox: generated documentation give the include path at the
bottom of the page for each class.
* NEWS: added compatibility break for 1.7.10 users.
Diffstat (limited to 'include/cppunit/ui/text')
| -rw-r--r-- | include/cppunit/ui/text/TestRunner.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/include/cppunit/ui/text/TestRunner.h b/include/cppunit/ui/text/TestRunner.h new file mode 100644 index 0000000..6bfa6c9 --- /dev/null +++ b/include/cppunit/ui/text/TestRunner.h @@ -0,0 +1,103 @@ +#ifndef CPPUNITUI_TEXT_TESTRUNNER_H +#define CPPUNITUI_TEXT_TESTRUNNER_H + +#include <cppunit/Portability.h> +#include <string> +#include <vector> + +namespace CppUnit { + +class Outputter; +class Test; +class TestSuite; +class TextOutputter; +class TestResult; +class TestResultCollector; + +namespace TextUi +{ + +/*! + * \brief A text mode test runner. + * \ingroup WritingTestResult + * \ingroup ExecutingTest + * + * The test runner manage the life cycle of the added tests. + * + * The test runner can run only one of the added tests or all the tests. + * + * TestRunner prints out a trace as the tests are executed followed by a + * summary at the end. The trace and summary print are optional. + * + * Here is an example of use: + * + * \code + * CppUnit::TextUi::TestRunner runner; + * runner.addTest( ExampleTestCase::suite() ); + * runner.run( "", true ); // Run all tests and wait + * \endcode + * + * The trace is printed using a TextTestProgressListener. The summary is printed + * using a TextOutputter. + * + * You can specify an alternate Outputter at construction + * or later with setOutputter(). + * + * After construction, you can register additional TestListener to eventManager(), + * for a custom progress trace, for example. + * + * \code + * CppUnit::TextUi::TestRunner runner; + * runner.addTest( ExampleTestCase::suite() ); + * runner.setOutputter( CppUnit::CompilerOutputter::defaultOutputter( + * &runner.result(), + * std::cerr ) ); + * MyCustomProgressTestListener progress; + * runner.eventManager().addListener( &progress ); + * runner.run( "", true ); // Run all tests and wait + * \endcode + * + * \see CompilerOutputter, XmlOutputter, TextOutputter. + */ +class CPPUNIT_API TestRunner +{ +public: + TestRunner( Outputter *outputter =NULL ); + + virtual ~TestRunner(); + + bool run( std::string testName ="", + bool doWait = false, + bool doPrintResult = true, + bool doPrintProgress = true ); + + void addTest( Test *test ); + + void setOutputter( Outputter *outputter ); + + TestResultCollector &result() const; + + TestResult &eventManager() const; + +protected: + virtual bool runTest( Test *test, + bool doPrintProgress ); + virtual bool runTestByName( std::string testName, + bool printProgress ); + virtual void wait( bool doWait ); + virtual void printResult( bool doPrintResult ); + + virtual Test *findTestByName( std::string name ) const; + + TestSuite *m_suite; + TestResultCollector *m_result; + TestResult *m_eventManager; + Outputter *m_outputter; +}; + + +} // namespace TextUi + +} // namespace CppUnit + +#endif // CPPUNITUI_TEXT_TESTRUNNER_H |
