Wednesday, September 28, 2011

CPPUNIT- TestFixture


TestFixture Class Reference
[Writing test fixture]

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:
TestResultTestSuiteTestCaller,CPPUNIT_TEST_SUB_SUITECPPUNIT_TESTCPPUNIT_TEST_SUITE_END, CPPUNIT_TEST_SUITE_REGISTRATIONCPPUNIT_TEST_EXCEPTIONCPPUNIT_TEST_FAIL.


Constructor & Destructor Documentation


virtual TestFixture::~TestFixture ) [inline, virtual]


Member Function Documentation


virtual void TestFixture::setUp ) [inline, virtual]
Set up context before running a test.

Reimplemented in TestCaseDecorator, and TestCaller< Fixture >.


virtual void TestFixture::tearDown ) [inline, virtual]
Clean up after the test run.

Reimplemented in TestCaseDecorator, and TestCaller< Fixture >.


The documentation for this class was generated from the following file:

No comments:

Post a Comment