大多数开发人员相信单元测试的价值,即使他们并不总是喜欢编写它们。他们中的大多数人都可以在进行新的开发工作或实践测试驱动开发 (TDD)时编写单元测试,但很容易在未开发的开发中受到约束。
这里有四种机会可以将单元测试添加到现有代码中,而无需承担过多的风险或努力。
1.故障码
故障排除意味着通读源代码,观察输入的处理方式,跟踪 if/then/else 语句,并跟踪直到返回结果。您无法避免这项工作,但您可以为下一个开发人员记录结果。添加单元测试以显示您理解的代码行为,然后运行单元测试来证明它。
如果您无法追踪行为或只是不想追踪,可以使用单元测试作为实验。对结果进行最佳猜测,运行单元测试,让它失败,然后更新测试以反映现实。
2. 新开发
将您的代码库教给新人与故障排除非常相似。遍历源代码、跟踪条件路径、定义边缘情况和描述错误处理是两者的共同练习。
在教授代码库时,借此机会以单元测试的形式记录您的理解。更好的是,让新开发人员在解释代码时编写单元测试。
3. 更新库
更新库是现代软件项目永无止境的维护任务。框架、实用程序,甚至编程语言本身都经常变化,以至于整个版本都可以专注于更新和测试它们。
4. 改变行为
单元测试是确保行为不会改变的好方法,但如果目标是改变行为呢?毕竟,即使是遗留代码也会不时获得新功能。
同样,单元测试可以是一个很好的指南——改变代码行为的第一步是了解其当前行为。编写测试,演示当前行为,并更改测试以反映所需的行为。然后更改代码以便新测试通过。