Skip to the content.

Home / cs-notes / Books / Java / 阿里Java开发手册 / v2022.02.03 / Note / 注意 / 03. 单元测试

  1. AIR 原则
    • automatic
    • independent
    • repeatable
  2. 对外部的依赖应便于 注入 或 mock

  3. 单测粒度要足够小, 便于问题定位, 通常是方法级
    • 不要将 单元测试集成测试 相混淆
  4. 核心模块的增量代码应保证单元测试通过

  5. 单元测试代码不允许写在业务代码中
    • src/test/java
  6. 单测要求语句覆盖率 70%
    • 核心模块 100%
  7. 单测 BCDE 原则
    • Border
    • Correct
    • Design
    • Error
  8. DB 测试 的准备数据
    • 程序插入, 或者 直接导入已有数据
    • 不要手动插入, 避免不符合约束条件
  9. DB 测试应有自动回滚功能, 避免测试后残留脏数据

  10. 对不可测的代码适当重构

  11. 评审阶段确认单测范围, 最好涵盖所有用例

  12. 便于单测
    • 简化构造
    • 减少静态成员
    • 减少外部依赖
    • 简化条件判断
      • 卫语句
      • 策略模式
      • 状态模式