????2?????????????????
??????????????????????CppUnit??????????????У?

 

//???????TestSuite
CPPUNIT_TEST_SUITE(MathTest);
//????????????TestSuite???????μ????????????????????????
CPPUNIT_TEST(testAdd);
//TestSuite???????
CPPUNIT_TEST_SUITE_END();
??????????£?
Main.cpp
#include<iostream>
using namespace std;
#include "cppunit/extensions/TestFactoryRegistry.h"
#include "cppunit/ui/text/TestRunner.h"
#pragma comment (lib?? "cppunitd_dll.lib")
//?????????TestSuite???????????????????
int main()
{
CppUnit::TextUi::TestRunnerrunner;
//??????TestSuite?л????????TestSuite????в??????δ??????TestSuite
CppUnit::TestFactoryRegistry&registry = CppUnit::TestFactoryRegistry::getRegistry("alltest");
//??????TestSuite??TestRunner
runner.addTest(registry.makeTest());
//???????
runner.run();
return 0;
}
MathTest.h
/*??ú??CPPUNIT*/
#include "cppunit/extensions/HelperMacros.h"
class MathTest:public CppUnit::TestFixture
{
//???????TestSuite
CPPUNIT_TEST_SUITE(MathTest);
//????????????TestSuite???????μ????????????????????????
CPPUNIT_TEST(testAdd);
//TestSuite???????
CPPUNIT_TEST_SUITE_END();
public:
//?????????
void setUp();
//???????
voidtearDown();
//??????????????
void testAdd();
protected:
intm_value1??m_value2;
};
MathTest.cpp
#define MATHTEST_H
#ifdef MATHTEST_H
#include "MathTest.h"
#include "cppunit/TestAssert.h"
#endif
//?????TestSuite??????"alltest"??TestSuite?У????δ???壬??????????
//?????CPPUNIT_TEST_SUITE_REGISTRATION(MathTest)????????????δ??????TestSuite??
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(MathTest??"alltest");
void MathTest::setUp()
{
m_value1 = 2;
m_value2 = 3;
}
void MathTest::tearDown()
{
}
void MathTest::testAdd()
{
int ret =m_value1 + m_value2;
CPPUNIT_ASSERT(ret== 5);
}