Skip to content

重构 - 4. 构筑测试体系

🏷️ 《重构》

第 4 章主要介绍了测试的价值以及一些测试实践方法。书中是以 JavaScript 为例的,.NET 开发人员可以参考 MSDN 上关于单元测试的文章。

确保所有测试都完全自动化,让它们检查自己的测试结果


一套测试就是一个强大的 bug 侦测器,能够大大缩减查找 bug 所需的时间。


总是确保测试不该通过时真的会失败。

作者的这个方法实践非常好。
编写测试时,确保每个测试都至少失败一遍。比如在代码中故意引入一个错误,让测试执行失败。


频繁地运行测试。对于你正在处理的代码,与其对应的测试至少每隔几分钟就要运行一次,每天至少运行一次所有的测试。

Visual Studio 的企业就支持在代码改动后自动运行测试,社区版不支持。
也可以配置 GitLab 的钩子,在每次推送时自动触发测试任务。


编写未臻完善的测试并经常运行,好过对完美测试的无尽等待。


考虑可能出错的边界条件,把测试火力集中在那儿。

这个属于测试用例的范畴。另外就是对于前端发送过来的所有数据都应持怀疑态度。


不要因为测试无法捕捉所有的 bug 就不写测试,因为测试的确可以捕捉到大多数的 bug。


每当你收到 bug 报告,请先写一个单元测试来暴露这个 bug。

引用

  1. 《重构:改善既有代码的设计》 -- 马丁·福勒(Martin Fowler