为了测试Math类的测试类:
/// MathTest.h
// A TestFixture subclass.
#include “cppunit/TestFixture.h”
#include “cppunit/extensions/HelperMacros.h”
class MathTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE(MathTest); //声明一个TestSuite
CPPUNIT_TEST(testAdd); //添加TestCase到TestSuite
/*定义新的测试用例需要在这儿声明一下
// … 可以添加更多testcase
*/
CPPUNIT_TEST_SUITE_END();// TestSuite声明完成
public:
MathTest(){}
~MathTest(){}
void eard(){};//初始化函数,此例没有用到
void eardown(){};//清理函数,此例没有用到
void testAdd ();// 测试加法的测试函数
/*可以添加更多测试函数
// …
*/
};
测试类MathTest的实现:
/// MathTest.cpp
// implement of MathTest.h
#include "MathTest.h"
#include "Math.h"
#include "cppunit/TestAssert.h"
//把这个TestSuite注册到名字为"alltest"的TestSuite中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MathTest, "alltest" );
//实现测试,测试中的核心部分
void MathTest::testAdd()
{
Math M;//实例化
int ret = M.add(-1,3); //调用add方法对其进行测试;
CPPUNIT_ASSERT(ret==2); //用cppunit提供的方法对ret与预期结果作比较
}