单元测试是:
- 针对软件设计的最小单位——程序模块
- 进行正确性检验
- 保证能够正确执行规定功能
- 发现模块内部可能存在的差错
主要框架:GTest(Google Test)
重点:
- 接口定义
- 执行路径
- 边界路径
- 错误处理
- 局部数据结构
接口定义
- 方法、参数能不能是const
- 能否使用引用
- 方法、变量命名
- 参数能否更少
- 错误处理
执行路径
尽量测试到所有的分支,工程中尽量达到80%覆盖率。
检查所有推荐,是不是使用了无副作用的函数:unordered_map[]会自动添加元素
边界条件
参数等价类划分
错误处理
针对非法参数、打印可追溯的日志、友好提醒
局部数据结构
- 检查无符号类型
- 未初始化变量
- 初始化过程
- 溢出检查