3

我一直在做的项目快完成了,在项目开始之前我从来没有机会学习 TDD,现在项目几乎完成了设置测试有什么意义?当然,每周都会有很多插件和更多的变化,所以还没有完全完成。

谢谢

4

6 回答 6

10

您可以在最后添加单元测试,它们会很有用,但这不是 TDD。

TDD 是测试驱动开发,这意味着您的测试指导开发过程。它们不仅要检查您的逻辑是否失败,还要帮助您设计更好的代码,这就是为什么需要首先创建它们的原因。

于 2012-08-13T14:39:01.217 回答
1

把事情做对永远不会太晚。

于 2012-08-13T14:38:00.487 回答
1

在这种情况下,我建议在符合以下条件之一的代码区域中实施测试:

  • 它们对程序的运行至关重要
  • 如果他们打破,没有人会立即注意到

后者尤为重要。没有什么比在系统出现故障 5 个月后发现系统在没有它的情况下一直一瘸一拐的情况更糟糕的了。有些事情需要变得更加明显,测试可能是这样做的好方法。

显然,最好在任何地方进行测试,但这可能既不符合您的日程安排的需要,又在政治上很困难。

于 2012-08-13T14:41:09.710 回答
1

是的。进行单元测试的优点之一是,您可以判断过去工作的某些内容何时因不相关的代码更改而中断。

我以前经历过这种情况,当您向已经(看似)完成的项目添加单元测试时,这似乎是一个毫无意义的练习,但事实并非如此:

  1. 我们通过这种方式发现了很多小缺陷。否则直到后来才被发现的缺陷,并且可能会在生产中出现
  2. 该项目当时似乎已经完成,但随后又进行了 6 个月,客户要求进行更改,结果证明单元测试非常有用。
于 2012-08-13T14:38:07.077 回答
0

现在,您将面临一项艰巨的任务,即尝试将测试重新安装到遗留代码中。网上有很多文章和很多方法来实现它(GoldenMaster,它非常适合 WCF-y 的东西)。我会说,如果您希望支持软件/添加功能,那么值得投资至少实施一些测试(尤其是在关键区域周围)。

于 2012-08-13T15:01:15.753 回答
0

测试总是值得的。您现在可能会执行一些测试,并发现您的代码中有一些主要错误。即使您现在只进行一些基本测试,然后逐渐建立它们。然后对任何新位使用 TDD。

它对于发现您所做的任何更改是否破坏了代码的其他部分也很有用。

于 2012-08-13T14:38:25.707 回答