Wraps a test case with setUp and tearDown methods.
#include <TestFixture.h>
Inheritance diagram for TestFixture:
Public Member Functions |
virtual | ~TestFixture () |
virtual void | setUp () |
| Set up context before running a test. |
virtual void | tearDown () |
| Clean up after the test run. |
Detailed Description
Wraps a test case with setUp and tearDown methods.A TestFixture is used to provide a common environment for a set of test cases.
To define a test fixture, do the following:
- implement a subclass of TestCase
- the fixture is defined by instance variables
- initialize the fixture state by overriding setUp (i.e. construct the instance variables of the fixture)
- clean-up after a test by overriding tearDown.
Each test runs in its own fixture so there can be no side effects among test runs. Here is an example:
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.
- See also:
- TestResult, TestSuite, TestCaller,CPPUNIT_TEST_SUB_SUITE, CPPUNIT_TEST, CPPUNIT_TEST_SUITE_END, CPPUNIT_TEST_SUITE_REGISTRATION, CPPUNIT_TEST_EXCEPTION, CPPUNIT_TEST_FAIL.
Constructor & Destructor Documentation
Member Function Documentation
virtual void TestFixture::setUp | ( | | ) | [inline, virtual] |
|
virtual void TestFixture::tearDown | ( | | ) | [inline, virtual] |
|
The documentation for this class was generated from the following file:
No comments:
Post a Comment