我想开始使用TDD。对初学者有什么提示吗?[关闭]


27

我从未在任何项目中使用过自动测试机制,但我感觉自己很想念。我想提高自己,所以我必须开始解决一些我一直这样忽略的问题,并尝试使用Git而不是坚持使用SVN。

学习TDD的好方法是什么?我可能会使用Eclipse在Java中进行编程。我听说过JUnit,但是我不知道还有什么我应该考虑的。

Answers:


15

您可以从编写katas开始。选择一种算法(例如,十进制到罗马数字的转换,打保龄球,康威的人生游戏等),然后尝试使用TDD解决该问题。

您的解决方案结构可能会非常简单(比实际的生产代码要简单得多):一类用于测试夹具,另一类包含被测算法。而没有依赖项的被测类是另一个优点。您可以使用此设置的简单性来快速掌握“红绿重构”循环。

只要您遵循原则,那么用于TDD katas的工具并不重要。但是,用于Eclipse的JUnit插件非常易于使用,因此是一个不错的选择。


8

熟悉AAA,对其进行阅读,并了解测试驱动开发所带来的问题(针对可测试性的设计与成本较高的工具,因此设计无关紧要)。了解依赖注入,以便删除用于测试的外部依赖关系变得更加简单。

这是我阅读单元测试的技巧时记下的笔记的良好概述

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html


1
+1推荐单元测试的技巧。在我看来,这是一本最好的解释单元测试的书,而且不会吓倒读者。
安妮·舒斯勒

6

确实没有什么可以替代的,只是抓住测试工具(如NUnit),阅读一些文献,然后弄脏您的手。

正如詹姆斯·T·柯克(James T. Kirk)所说:“我们边做边学。”



-3

检查此链接。这是鲍勃·马丁(Bob Martin)在TDD上的博客-不错的材料,可让您了解TDD的思维方式(或为您提供另一种前瞻性的思维方式)。


2
用Bob叔叔自己的话说,博客的标语是“干净代码,设计和所有软件的文字”。该博客的内容比OP的“ [TDD中的任何初学者提示”)要广泛得多。
azheglov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.