我公司的人员认为单元测试是一项额外的工作,与现有的功能测试相比,它的优势更少.单元和集成测试值得吗?请注意,未考虑测试而设计的大型现有代码库.
大多数人都不知道自动化单元测试的用途:
试验一项新技术
记录如何使用部分代码
确保死虫死亡
允许您重构代码
允许您更改代码的任何主要部分
创建一个较低的水印,低于该水印,您的产品质量不可能下降
提高开发速度因为现在,你知道有些东西可以工作(而不是希望它能在客户报告错误之前完成).
因此,如果这些原因中的任何一个为您带来好处,那么自动化单元测试就适合您.如果没有,那就不要浪费你的时间.
(我假设您正在使用"功能测试"来表示涉及整个系统或应用程序正在运行的测试.)
我会在编写新单元时对其进行单元测试,原因有三:
它可以帮助我更快地使用代码.的周转时间"单元测试失败,固定码,单元测试通过"通常是很多比"功能性测试失败,修复代码,功能性测试通过"短.
它帮助我以更清洁的方式设计我的代码
它帮助我理解我的代码以及我来维护代码时的意图.如果我做出改变,它会让我更有信心,我没有破坏任何东西.
(这包括错误修复,如Epaga所建议的那样.)
我强烈推荐Michael Feathers的"有效使用遗留代码",为您提供有关如何开始单元测试代码库的技巧,该代码库并非专为此而设计.