测试驱动开发的概念越来越深入人心。在Java里CxxTest有Junit, C#里有Nunit可以进行单元测试,可是C++作为一门葱郁最广泛影响力的语言却没有一个”完美“的测试框 架,CppUnit,CxxTest,TUT,Google Test各有各的优点,却各有个的不足。为了自己写程序方便,自己也写了一个简易的框架。
这个框架由Assert, Test 两个主要的类和一个main入口函数组成。要测试某个类如Calculate类时,先建立一个具体的测试类可以TestCalculate类,它继承自Test类,为方TestCalcalute类添加一个Calcult类型的成员,在setUp方法中,初始化Caculate类型的成员,setDown方法中,释放它占用的内存。当然由于C++不支持反射,要测试的方法只能一个一个地添加,这里使用了ADD_METHOD宏简化了操作。
哈,这也叫测试框架?
嗯,是简陋了点,故意留下了提高的空间。
Assert.h
Assert.cpp
Test.h
Test.cpp
TestFrameWork.h
Main.cpp
类
以上就是测试框架的代码,下面是测试类的代码
TestCalculte.h
TestCalculte.cpp
下面的就是待测试的Calculte的代码
Calculte.h
Calculte.cpp