- 授权协议: LGPL
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: http://cpptest.sourceforge.net/
- 软件文档: http://cpptest.sourceforge.net/tutorial.html
软件介绍
CppTest 是 C++ 的单元测试框架。CppUnit 简单得多,但是效果也不错。下面简要地对比这两个强大的工具:
- 创建单元测试和测试套件的简便性。
CppUnit和CppTest都创建类方法形式的单元测试,类本身都派生自工具提供的Test类。但是,CppTest的语法略微简单些,测试的注册在类构造器内进行。对于CppUnit,需要额外的宏CPPUNIT_TEST_SUITE和CPPUNIT_TEST_SUITE_ENDS。 - 运行测试。
CppTest直接调用测试套件上的run方法,而CppUnit使用单独的TestRunner类,通过调用这个类的run方法运行测试。 - 扩展测试层次结构。对于
CppTest,随时可以从以前的测试套件派生新类,从而扩展测试套件。新的类定义一些新函数,这些函数成为新的单元测试。只需在新类类型的对象上调用run方法。与之相反,CppUnit需要使用CPPUNIT_TEST_SUB_SUITE宏和类继承来实现相同的效果。 - 生成格式化的输出。
CppTest和CppUnit都允许定制输出。但是,CppTest有预定义的 HTML 输出格式化器,而CppUnit没有。但是,只有CppUnit支持 XML 格式化。它们都支持文本和编译器式格式。 - 创建测试装备。要想使用测试装备,
CppUnit要求测试类派生自CppUnit::TestFixture。您必须提供设置和退出例程的定义。对于CppTest,只需提供设置和退出例程的定义。这个解决方案显然更好,因为这让客户机代码更简单。 - 预定义的宏支持。
CppTest和CppUnit都提供一组用于断言、处理浮点等的宏。 - 头文件。
CppTest只要求包含一个头文件,而CppUnit客户机代码必须根据使用的特性包含多个头文件,比如 HelperMacros.h 和 TextTestRunner.h。
