maven引入
单元测试
祸乱生于疏忽, 单元测试先于交付. 穿越暂时黑暗的时光隧道, 才能迎来系统的曙光
- 面向对象编程, 通常认为最小单元
方法
- 单元测试的目的
- 单元测试的好处
- 提升软件质量: 保证开发的质量和程序的鲁棒性; 在研发过程中频繁地执行测试用例, 运行失败的单测能帮助我们快速排查和定位问题.
1.1 一流的测试: 发现未发生的故障
1.2 二流的测试: 快速定位故障的发生点
1.3 三流的测试: 疲于奔命, 一直跟在故障后面进行功能回归- 促进代码优化
单元测试时由开发工程师编写和维护的, 这会促使开发工程师不断重新审视自己的代码, 白盒地去思考代码逻辑, 更好地对代码进行设计, 甚至想方设法地去优化测试用例的执行效率.- 提升研发效率
磨刀不误砍柴工- 增加重构的自信
重构时可以看到单元测试是不是100%执行通过
1. 单元测试的基本原则
- AIR原则
宏观上
- Automatic (自动化)
- Independent (独立性)
- Repeatable (可重复性)
- BCDE原则
微观上
- Border: 边界值测试, 包括循环边界、特殊取值、 特俗时间点、数据顺序等.
- Correct: 正确的输入, 并得到预期的结果
- Design, 与设计文档相结合, 来编写单元测试.
- Error, 单元测试的目标是证明程序有错, 而不是证明程序无错. 为了发现代码中潜在的错误, 我们需要在编写测试用例时有一