cpp的测试框架有很多种,比较流行的有cppunit, cxxtest。
CppUnit
CPPUnit 是老牌的测试框架,来源于JUnit。总的来说特点是:
工作量大;
CPPUnit需要RTTI,STL,或者异常机制的支持;
CPPUnit使用protectors包装测试,并且捕捉所有的异常(尝试识别某些异常),Linux下面不会捕捉系统异常,但是要增加自定义的包装是很容易的;
支持一个最小集合的断言语句,包括比较浮点数。
CxxTest
CxxTest的风格类似于JUnit/CppUnit/NUnit。
CxxTest是CppUnit的鼻祖之一有感于CppUnit的一些缺点而重写的一套C/C++单元测试框架,目前在C/C++单元测试领域受欢迎程度排行第二, 仅次于CppUnit.
与已有的解决方案相比,它具有如下一些优点:
· 不需要RTTI(运行时间类型信息)。
· 不需要成员模板功能。
· 不需要异常处理。
· 测试驱动(类似于CppUnit的Helper类)可以完全自动生成, 省去了很多例行的手工编程.
· 不需要任何外部函数库(包括内存管理、文件/控制台的输入/输出和图形库等)。
· 它完全是作为一套头文件的集合而进行发布的。
上述这些优点使得CxxTest具有特别的可移植性和可用性。由于CppUnit带有Make文件, 所以只能用在主流的操作系统中, 而应用到非主流操作系统中源代码及Make文件修改的工作量就会很大. CxxTest不带Make文件, 所以也可用于非主流操作系统中,适合嵌入式系统环境.有些嵌入式系统测试框架如Symbian OS Test就是基于cxxtest.
阅读(1028) | 评论(0) | 转发(0) |