Home / cs-notes / Books / Java / 阿里Java开发手册 / v2022.02.03 / Note / 注意 / 03. 单元测试
- AIR 原则
- automatic
- independent
- repeatable
-
对外部的依赖应便于 注入 或 mock
- 单测粒度要足够小, 便于问题定位, 通常是方法级
- 不要将
单元测试
与集成测试
相混淆
- 不要将
-
核心模块的增量代码应保证单元测试通过
- 单元测试代码不允许写在业务代码中
- src/test/java
- 单测要求语句覆盖率 70%
- 核心模块 100%
- 单测 BCDE 原则
- Border
- Correct
- Design
- Error
- DB 测试 的准备数据
- 程序插入, 或者 直接导入已有数据
- 不要手动插入, 避免不符合约束条件
-
DB 测试应有自动回滚功能, 避免测试后残留脏数据
-
对不可测的代码适当重构
-
评审阶段确认单测范围, 最好涵盖所有用例
- 便于单测
- 简化构造
- 减少静态成员
- 减少外部依赖
- 简化条件判断
- 卫语句
- 策略模式
- 状态模式