这几天集中精力阅读2个C++的测试框架源代码,一个是CppUnit,另一个就是今天要说的CppUnitLite啦。
CppUnitLite是一个由Michael Feathers开发的短小精悍的C++测试框架,Michael Feathers同时也是CppUnit的原作者。使用者可以通过这个框架根据自己的实际需要进行扩展。
- http://www.objectmentor.com/resources/downloads.html
- http://www.objectmentor.com/resources/bin/CppUnitLite.zip
这个框架的目的在于:
- 为开发者提供容易编写的独立的测试。
- 遵循JavaUnit的模式,避免使用C++的一些高级特性,比如RTTI,异常,模板等,这些因素不利于程序的移植。
现在假设有一个Deque类需要测试,测试所用的代码如下:
#include "TestHarness.h"
#include "Deque.h"
//from http://www.cnblogs.com/gpcuster
int main()
{
TestResult tr;
TestRegistry::runAllTests(tr);
return 0;
}
TEST( Deque, construction)
{
Deque d;
CHECK ( 0 == d