CppUnit project page | FAQ | CppUnit home page |
#include <TestFixture.h>
Inheritance diagram for CppUnit::TestFixture:
Public Methods | |
virtual | ~TestFixture () |
virtual void | setUp () |
\brief Set up context before running a test. More... | |
virtual void | tearDown () |
Clean up after the test run. More... |
A TestFixture is used to provide a common environment for a set of test cases.
To define a test fixture, do the following:
class MathTest : public CppUnit::TestFixture { protected: int m_value1, m_value2; public: MathTest() {} void setUp () { m_value1 = 2; m_value2 = 3; } }
For each test implement a method which interacts with the fixture. Verify the expected results with assertions specified by calling CPPUNIT_ASSERT on the expression you want to test:
public: void testAdd () { int result = m_value1 + m_value2; CPPUNIT_ASSERT( result == 5 ); }
Once the methods are defined you can run them. To do this, use a TestCaller.
CppUnit::Test *test = new CppUnit::TestCaller<MathTest>( "testAdd", &MathTest::testAdd ); test->run();
The tests to be run can be collected into a TestSuite.
public: static CppUnit::TestSuite *MathTest::suite () { CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite; suiteOfTests->addTest(new CppUnit::TestCaller<MathTest>( "testAdd", &MathTest::testAdd)); suiteOfTests->addTest(new CppUnit::TestCaller<MathTest>( "testDivideByZero", &MathTest::testDivideByZero)); return suiteOfTests; }
A set of macros have been created for convenience. They are located in HelperMacros.h.
|
|
|
\brief Set up context before running a test.
Reimplemented in CppUnit::TestCaller. |
|
Clean up after the test run.
Reimplemented in CppUnit::TestCaller. |
hosts this site. |
Send comments to: CppUnit Developers |