第4章 创建和运行测试

本章的主要内容有:

  • 创建一个简单的单元测试
  • 使用Catch2库进行单元测试
  • 使用Google Test库进行单元测试
  • 使用Boost Test进行单元测试
  • 使用动态分析来检测内存缺陷
  • 预期测试失败
  • 使用超时测试运行时间过长的测试
  • 并行测试
  • 运行测试子集
  • 使用测试固件

测试代码是开发工具的核心组件。通过单元测试和集成测试自动化测试,不仅可以帮助开发人员尽早回归功能检测,还可以帮助开发人员参与,并了解项目。它可以帮助新开发人员向项目代码提交修改,并确保预期的功能性。对于验证安装是否保留了代码的功能时,自动化测试必不可少。从一开始对单元、模块或库进行测试,可以使用一种纯函数式的风格,将全局变量和全局状态最小化,可让开发者的具有更模块化、更简单的编程风格。

本章中,我们将演示如何使用流行的测试库和框架,将测试集成到CMake构建结构中,并谨记以下目标:

  • 让用户、开发人员和持续集成服务很容易地运行测试集。应该像使用Unix Makefile时,键入make test一样简单。
  • 通过最小化测试时间,高效地运行测试,最大限度地提高运行测试的概率——理想情况下,每次代码修改都该如此。