1、自测试代码的价值
(1)确保所有测试都完全自动化,让它们检查自己的测试结果
(2)想要进行重构,首先前提就是拥有一个可靠的测试环境
(3)开始编程前编写测试代码有利于先弄清楚添加这个功能需要做些什么
(4)改造无法测试的代码,每个类都应该有一个用于测试的main函数
(5)编写测试代码,往往一开始先让它们失败,证明测试机制是正常运行的
(6)JUnit框架设计用来编写单元测试,功能测试往往以其他工具辅助进行
2、添加更多测试
(1)无需测试那些仅仅读或写一个字段的访问函数
(2)测试你最担心出错的部分,考虑可能出错的边界条件
(3)当程序被认为应该会出错时,别忘了检查是否抛出了预期的异常
(4)不要因为测试无法捕捉所有的bug就不写测试,因为测试的确可以捕捉到大多数bug
(5)测试代码和产品代码的区别:测试代码可以放心地复制和编辑测试
(6)对于继承和多态造成的多种组合,可以花合理时间抓住大多数bug,好过“倾尽一生抓出所有bug”
尾注
- 上述的总结与思考是基于对《重构—改善既有代码的设计》这本书的精读与演绎
- 更多及时干货,请关注微信公众号:JAVA万维猿圈