如何成为TDD的"测试感染者"?

时间:2020-03-05 18:48:45  来源:igfitidea点击:

我一直在阅读有关"被测试感染"的人的信息,这意味着他们不仅会"获得" TDD,而且没有它就无法生存。他们已经"进行了改头换面"。问题是,我怎么会这样?

解决方案

回答

了解有关TDD的信息,然后开始将其集成到工作流程中。如果我们足够使用这些方法,我们会发现它们已成为第二天性,并且我们将开始在该框架内制定所有开发任务的框架。

另外,开始针对我们选择的语言使用J-Unit(或者X-Unit)框架。

回答

被"测试感染"的部分原因是我们已经使用了TDD足够多,并且看到了足够的成功,因此我们不希望没有它就无需编写代码。一旦经历了先编写测试,然后进行编码和重构的周期,并看到错误计数减少,结果代码变得更好,不仅像Zxaos所说的那样成为第二自然,我们就很难过回到代码优先。这是被测试感染。

回答

我们已经阅读了有关TDD的内容。多读书不会让你兴奋。

相反,我们需要一个真正的个人成功故事。

这是如何做。从核心模块中获取一些代码,这些代码不依赖于外部系统或者太多其他子例程。例程的复杂性与简单无关紧要。

然后开始编写针对它的单元测试。 (我假设语言具有xUnit或者类似的语言。)对测试真的很讨厌-测试每个边界情况,测试max-int和min-int,测试null,测试字符串和包含数百万个元素的列表,测试带有韩语和控制字符的字符串以及从右到左的阿拉伯语,以及引号,反斜杠和句点以及其他如果不逃避可能会破坏事物的事物。

我们会发现的是...。错误!起初,我们可能会认为这些错误并不重要-我们尚未遇到这些问题,代码可能永远也不会这样做,等等。但是我的经验是,如果我们继续前进,我们会感到惊讶数量少的问题。最终,很难相信这些错误都不会引起问题。

另外,我们会感到非常有成就感,因为事情做得非常非常好。我们知道代码从来都不是完美的,而且很少有bug,因此,当我们用尽了很多让我们真正感到自信的测试时,这是很好的。自信是一种愉快的感觉。

最后,我认为引发爱情的最后一个事件将在数周或者数月后发生。也许我们正在修复错误或者添加功能或者重构某些代码,而这样做会破坏单元测试。 " Hu?"我们会说,而不是理解为什么新更改甚至与损坏的测试相关。然后,我们将找到它,并找到启示。因为我们真的不知道自己在破坏代码,所以测试挽救了我们。

哈利路亚!

回答

一句话,练习!进行TDD会有一些开销,而克服它的方法是练习并确保我们使用的工具来帮助完成该过程。我们需要学习诸如手背之类的工具。一旦学习了与所学过程相适应的工具,它就会单击,并且我们会流利地首先编写测试以清除代码。然后,我们将被"测试感染"。

不久前,我回答了一个与此类似的问题。我们可能还需要检查一下。我提到一些工具并解释学习TDD。从这些工具中,Resharper和选择一个好的模拟框架对于进行TDD至关重要。我很强调学习这些工具以配合我们使用足够的测试框架。