From 41e210a888ae68e1d908e60d903a65672f068b14 Mon Sep 17 00:00:00 2001 From: Baptiste Lepilleur Date: Wed, 27 Mar 2002 16:56:47 +0000 Subject: 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). --- include/cppunit/TextTestRunner.h | 49 ++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 14 deletions(-) (limited to 'include/cppunit/TextTestRunner.h') 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; -- cgit v1.2.1