测试框架

  • CUnit C语言环境下的开发源码的白盒测试用例CUnit。CUnit以静态库的形式提供给用户使用,用户编写程序的时候直接链接此静态库就可以了。它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。 CUnit
  • GTest是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括Chrome Web浏览器、LLVM编译器架构、Protocol Buffers数据交换格式及工具等。GoogleTest
  • CppUnit是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming)。主要功能就是对单元测试进行管理,并可进行自动化测试。 CppUnit
  • CxxTest软件框架提供了一套代码框架和代码生成工具。测试人员需要使用C++头文件定义测试用例。在测试用例中,通过定义测试方法,来打包需要的测试项目。测试方法中可以调用开发人员编写的函数,类,变量,声明等,来实现对这些函数,类,变量,声明进行测试和验证。测试函数中需要使用CxxTest提供的断言宏,来测试比较结果。这些结果如果非预期,会被作为失败或者异常,被CxxTest记录下来。从而实现单元测试自动化。环境搭建
  • Boost.Test功能强大,提供了自动注册和手动注册两种方式,更重要的是来自千锤百炼的Boost库。Boost.Test
  • CppUTest是一个功能全面的测试框架,是为了支持在多种操作系统上开发嵌入式软件而特别设计的。CppUTest的宏被设计成不需要了解C++也可以写测试用例。这使得C程序员更容易用这个测试框架。CppUTest只使用C++语言中主要的那部分子集,这种选择很好地适应了那些编译器不能完全支持全部C++语言特性的嵌入式开发。你会看到用Unity和CppUTest写出的单元测试几乎一模一样。你当然可以选择任意一个测试框架来进行你的产品开发。CppUTest
  • CppUnitLite轻量级,简单易用。 CppUnitLite

区别联系

  • 优秀的C/C++单元测试框架并不算少,相比之下Gtest仍具有明显优势。与CppUnit比,Gtest需要使用的头文件和函数宏更集中,并支持测试用例的自动注册。与CxxUnit比,Gtest不要求Python等外部工具的存在。与Boost.Test比,Gtest更简洁容易上手,实用性也并不逊色。
  • CppTest 是 C++ 的单元测试框架。比CppUnit 简单,但是又不失其灵活性。CppTest 能够协助 C/C++ 开发人员执行代码测试,从而降低维护难度。与CppUnit一样,都提供了装备、用于断言的宏和输出格式化器等。

扩展框架

  • 测试驱动开发(TDD)是以测试作为开发过程的中心,它坚持,在编写实际代码之前,先写好基于产品代码的测试代码。开发过程的目标就是首先使测试能够通过,然后再优化设计结构。测试驱动开发式是极限编程的重要组成部分。XUnit,一个基于测试驱动开发的测试框架,它为我们在开发过程中使用测试驱动开发提供了一个方便的工具,使我们得以快速的进行单元测试。XUnit的成员有很多,如JUnit,PythonUnit等。CppUnit 即是XUnit家族中的一员,它是一个专门面向C++的测试框架。
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐