四、使用方法
CppUnit小的测试单位是TestCase,多个相关TestCase组成一个TestSuite。要添加测试代码简单的方法是利用CppUnit为我们提供的几个宏来进行(当然还有其他的手工加入方法,但均是殊途同归,大家可以查阅CppUnit头文件中的演示代码)。这几个宏是:
CPPUNIT_TEST_SUITE() 开始创建一个TestSuite
CPPUNIT_TEST() 添加TestCase
CPPUNIT_TEST_SUITE_END() 结束创建TestSuite
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION() 添加一个TestSuite到一个指定的TestFactoryRegistry工厂 。(两个参数:第一个是TestSuite;第二个是标识TestSuite名称字符串)
CppUnit::MfcUi::TestRunner runner;// MFC的GUI测试控制平台
CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry(TestSuite名称);//得到标识TestSuite名称字符串TestFactoryRegistry
runner.addTest(registry.makeTest());//添加Test
runner.run();//运行测试案例
//实例:一个实现两个整数加减乘除运算的类测试
// Arithmetic.h 加减乘除运算类
#pragma once
class CArithmetic
{
public:
CArithmetic(void);
~CArithmetic(void);
public:
int Add(int nNum1, int nNum2);
int Sub(int nNum1,int nNum2);
int Mul(int nNum1,int nNum2);
double Div(int nNum1,int nNum2);
};
// Arithmetic.cpp
#include " Arithmetic.h"
CArithmetic::CArithmetic(void)
{
}
CArithmetic::~CArithmetic(void)
{
}
int CArithmetic::Add(int nNum1, int nNum2)
{
return nNum1+nNum2;
}
int CArithmetic::Sub(int nNum1,int nNum2)
{
return nNum1-nNum2;
}
int CArithmetic::Mul(int nNum1,int nNum2)
{
return nNum1*nNum2;
}
double CArithmetic::Div(int nNum1,int nNum2)
{
return nNum1/(nNum2*1.0);
}