一.概述
对于单元测试框架,Java有JUnit,.Net平台有NUnit,而C++项目可以选择CppUnit、Boost::test、CppTest、CxxTest、TUT等。我最近在VS2008中使用CxxTest,感觉比较方便。
CxxTest是SourceForge上一款开源的C++单元测试框架,不需要RTTI、成员模板函数、异常处理、及其他外部的库(内存管理、文件/Console IO、图形库等)。需要两样东西:一个现代的C++编译器、Perl或者Python任选其一。
二.原理
CxxTest首先通过动态语言Perl或者Python分析测试源文件(*.h或者*.cpp),从中抽取测试方法,生成TestSuite文件(runner.cpp);然后Build为测试程序(