【发布时间】:2009-04-28 09:35:24
【问题描述】:
您会推荐哪本书来学习测试驱动开发?最好与语言无关。
【问题讨论】:
您会推荐哪本书来学习测试驱动开发?最好与语言无关。
【问题讨论】:
【讨论】:
Growing Object-Oriented Software, Guided by Tests Addison-Wesley - 它是关于模拟框架 - 特别是 JMock 和 Hamcrest。
来自本书的描述:
史蒂夫弗里曼和纳特普莱斯描述 他们使用的流程,设计 他们努力实现的原则,以及 一些帮助他们获得的工具 完成的工作。通过扩展 工作示例,您将了解如何使用 TDD 使用测试在多个级别上工作 驱动功能和 面向对象的代码结构, 并使用模拟对象来发现和 然后描述它们之间的关系 对象。一路走来,书 系统地应对挑战 开发团队遇到的 TDD——从将 TDD 集成到您的 测试你最 困难的功能。
编辑: 我现在正在阅读 Michael Feathers 的 Working Effectively with Legacy Code,这非常好。从书的描述来看:
- 了解软件更改的机制:添加功能,
修复错误、改进设计、优化性能- 将遗留代码放入测试工具中
- 编写测试以防止引入新问题
- 这本书还包括一个目录,包含 24 个依赖关系打破 帮助您工作的技术 程序元素隔离并制作 更安全的更改。
我已经读过它,它是我读过的最好的编程书籍之一(我个人认为它必须被称为 Refactoring to Testability - 它描述了使您的代码可测试的过程)。因为可测试的代码是好的代码。
【讨论】:
对我来说,这是最好的:
【讨论】:
最近写得比较合理的书The Art of Unit Testing。我很惊讶这里没有提到它。
【讨论】:
Astels book 是一个扎实的介绍,Beck's book 擅长底层概念,Lasse Koskela has a newish one (Test Driven: TDD and Acceptance TDD for Java Developers)。正如他所说,Osherove's book 是关于单元测试,而不是 TDD。我不确定 Pragmatics 的 TDD 书是否已经过时了。
大部分都是 Java 或 C#,但您应该能够自己弄清楚。
【讨论】:
我是Pragmatic Bookshelf 中几乎所有内容的忠实粉丝,但这两个确实帮助我明白了这一点:
The Pragmatic Programmer: From Journeyman to Master。这年龄真的很好。我会向任何开发者推荐它。
Pragmatic Unit Testing in C# with NUnit, 2nd Edition。不要让标题吓到你。这些概念与语言无关,即使是 C# 示例也是如此。
【讨论】:
【讨论】: