Anna写了一篇10 reasons to write unit tests的
文章,原文已经打不开,不过其观点还是非常不错的。本文摘录如下:
1. 不要让客户发现难堪的bug。在bug进入产品生产环节前编写足够的
测试场景来捕获它们。
2. 对于复杂的场景,快速测试它,不必在程序中手动地重现去它们。
3. 经常测试,在你离开的时候程序便不会出错。你不可能总能了解你所编写代码的各种可能情况,尤其最初的程序并不一定是由你编写的。
4. 尽早测试,就不需要编写一些不必要的代码,而可只关注关键部分。这可以使得代码库精简且易于维护。同样可以节约开发时间。
5. 同一代码不必两番调试。一旦你测试发现可能的bug后,你便可以快速地修正它。
6. 可以确保可读性。
单元测试可使代码的意图易于理解。
7. 确保可维护性。进行单元测试可迫使你更好地实现封装功能,从而使代码易于维护而且方便增加新功能。
8. 重构时无需担心。运行测试可确保一切功能如预期实现。
9. 节省测试时间。你可以将整个CPU用来执行单元测试。
10. 更安全。对于增加一个新功能或者修改部分程序内核后你是否经常会感到担心呢?(进行单元测试后)这一切不再了。
11. 中奖:确切知道哪里出问题了。取代盲目的发现bug,测试可以告诉你问题及原因所在。举例:程序会告诉你什么时候cart中增加了一个条目而cart显示仍然是空的。它也会告诉你某个试图增加的条目失败了。
你是怎么看的呢?欢迎发表评论。