我一直在做的项目快完成了,在项目开始之前我从来没有机会学习 TDD,现在项目几乎完成了设置测试有什么意义?当然,每周都会有很多插件和更多的变化,所以还没有完全完成。
谢谢
您可以在最后添加单元测试,它们会很有用,但这不是 TDD。
TDD 是测试驱动开发,这意味着您的测试指导开发过程。它们不仅要检查您的逻辑是否失败,还要帮助您设计更好的代码,这就是为什么需要首先创建它们的原因。
把事情做对永远不会太晚。
在这种情况下,我建议在符合以下条件之一的代码区域中实施测试:
后者尤为重要。没有什么比在系统出现故障 5 个月后发现系统在没有它的情况下一直一瘸一拐的情况更糟糕的了。有些事情需要变得更加明显,测试可能是这样做的好方法。
显然,最好在任何地方进行测试,但这可能既不符合您的日程安排的需要,又在政治上很困难。
是的。进行单元测试的优点之一是,您可以判断过去工作的某些内容何时因不相关的代码更改而中断。
我以前经历过这种情况,当您向已经(看似)完成的项目添加单元测试时,这似乎是一个毫无意义的练习,但事实并非如此:
现在,您将面临一项艰巨的任务,即尝试将测试重新安装到遗留代码中。网上有很多文章和很多方法来实现它(GoldenMaster,它非常适合 WCF-y 的东西)。我会说,如果您希望支持软件/添加功能,那么值得投资至少实施一些测试(尤其是在关键区域周围)。
测试总是值得的。您现在可能会执行一些测试,并发现您的代码中有一些主要错误。即使您现在只进行一些基本测试,然后逐渐建立它们。然后对任何新位使用 TDD。
它对于发现您所做的任何更改是否破坏了代码的其他部分也很有用。