summaryrefslogtreecommitdiff
path: root/include/cppunit/TextTestRunner.h
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2002-03-27 16:56:47 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2002-03-27 16:56:47 +0000
commit41e210a888ae68e1d908e60d903a65672f068b14 (patch)
tree993f2fccd68aec0993c89e7fa610047b4abd8953 /include/cppunit/TextTestRunner.h
parentfba5df08cb90d511e536f53d0aea57b547e2b6ef (diff)
downloadcppunit-41e210a888ae68e1d908e60d903a65672f068b14.tar.gz
Makefile.
makefile.am: added src/CppUnitLibraries.dsw, new contribution, and src/qttestrunner. * TODO: updated (doc). * contrib/msvc/AddingUnitTestMethod.dsm: added, submitted by bloodchen@hotmail.com. * constrib/msvc/readme.txt: updated. * include/cppunit/TestAsserter.h: * include/cppunit/SourceLine.h: updated doc. * include/cppunit/TestCaller.h: reindented. updated doc. * include/cppunit/extensions/HelperMacros.h: relaxed constraint on fixture. Fixture base class may be TestFixture instead of TestCase. * include/cppunit/TestCase.h: * src/cppunit/TestCase.h: TestCase inherits TestFixture for setUp() and tearDown() definition. Moved documentation to TestFixture. * include/cppunit/TestFixture.h: updated documentation. * include/cppunit/TestRegistry.h: * src/cppunit/TestRegistry.cpp: Removed. Replaced by TestFactoryRegistry. * include/cppunit/TextTestRunner.h: * src/cppunit/TextTestRunner.cpp: made printing progress using a TextTestProgressListener optional. * examples\cppunittest\ExceptionTest.h: * examples\cppunittest\HelperMacrosTest.h: * examples\cppunittest\HelperMacrosTest.cpp: * examples\cppunittest\NotEqualException.h: * examples\cppunittest\OrthodoxTest.h: * examples\cppunittest\RepeatedTest.h: * examples\cppunittest\TestAssertTest.h: * examples\cppunittest\TestCallerTest.h: * examples\cppunittest\TestDecoratorTest.h: * examples\cppunittest\TestFailureTest.h: * examples\cppunittest\TestResultCollectorTest.h: * examples\cppunittest\TestResultTest.h: * examples\cppunittest\TestSetUpTest.h: * examples\cppunittest\TestSuiteTest.h: * examples\cppunittest\XmlOutputterTest.h: * examples\cppunittest\XmlOutputterTest.cpp: * examples\cppunittest\XmlUniformizerTest.h: * examples\cppunittest\XmlUniformizerTest.cpp: changed base class for fixture from TestCase to TestFixture. * examples\hierarchy\BoardGameTest.h: * examples\hierarchy\ChessTest.h: * examples\hierarchy\main.cpp: updated to use HelperMacros for correct fixture instantiation (the ChessBoard::testReset test case was using BoardGame fixture instance instead of ChessBoard).
Diffstat (limited to 'include/cppunit/TextTestRunner.h')
-rw-r--r--include/cppunit/TextTestRunner.h49
1 files changed, 35 insertions, 14 deletions
diff --git a/include/cppunit/TextTestRunner.h b/include/cppunit/TextTestRunner.h
index 23f7387..7bfc6d9 100644
--- a/include/cppunit/TextTestRunner.h
+++ b/include/cppunit/TextTestRunner.h
@@ -13,38 +13,57 @@ class TextOutputter;
class TestResult;
class TestResultCollector;
-/**
+/*!
* A text mode test runner.
*
- * FIXME: need update
* 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.
+ * TextTestRunner 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
- * TextTestRunner runner;
+ * CppUnit::TextTestRunner 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::TextTestRunner 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 TextTestRunner
{
public:
- /*! Constructs a new text runner.
- * \param outputter used to print text result. Owned by the runner.
- */
TextTestRunner( Outputter *outputter =NULL );
virtual ~TextTestRunner();
bool run( std::string testName ="",
bool wait = false,
- bool printResult = true );
+ bool printResult = true,
+ bool printProgress = true );
void addTest( Test *test );
@@ -55,12 +74,14 @@ public:
TestResult &eventManager() const;
protected:
- bool runTest( Test *test );
- bool runTestByName( std::string testName );
- void wait( bool doWait );
- void printResult( bool doPrintResult );
+ virtual bool runTest( Test *test,
+ bool printTextProgress );
+ virtual bool runTestByName( std::string testName,
+ bool printProgress );
+ virtual void wait( bool doWait );
+ virtual void printResult( bool doPrintResult );
- Test *findTestByName( std::string name ) const;
+ virtual Test *findTestByName( std::string name ) const;
TestSuite *m_suite;
TestResultCollector *m_result;