本章的主要内容有:
- 创建一个简单的单元测试
- 使用Catch2库进行单元测试
- 使用Google Test库进行单元测试
- 使用Boost Test进行单元测试
- 使用动态分析来检测内存缺陷
- 预期测试失败
- 使用超时测试运行时间过长的测试
- 并行测试
- 运行测试子集
- 使用测试固件
测试代码是开发工具的核心组件。通过单元测试和集成测试自动化测试,不仅可以帮助开发人员尽早回归功能检测,还可以帮助开发人员参与,并了解项目。它可以帮助新开发人员向项目代码提交修改,并确保预期的功能性。对于验证安装是否保留了代码的功能时,自动化测试必不可少。从一开始对单元、模块或库进行测试,可以使用一种纯函数式的风格,将全局变量和全局状态最小化,可让开发者的具有更模块化、更简单的编程风格。
本章中,我们将演示如何使用流行的测试库和框架,将测试集成到CMake构建结构中,并谨记以下目标:
- 让用户、开发人员和持续集成服务很容易地运行测试集。应该像使用
Unix Makefile
时,键入make test
一样简单。 - 通过最小化测试时间,高效地运行测试,最大限度地提高运行测试的概率——理想情况下,每次代码修改都该如此。