您会推荐哪本书来学习测试驱动开发?最好是语言不可知。
答案 0 :(得分:24)
答案 1 :(得分:12)
Growing Object-Oriented Software, Guided by Tests - 它是关于模仿框架 - 尤其是JMock和Hamcrest。
从书的描述:
Steve Freeman和Nat Pryce描述道 他们使用的过程,设计 他们努力实现的原则,以及 一些帮助他们获得的工具 完成的工作。通过延长 工作的例子,你将学习如何TDD 使用测试在多个级别工作 驱动功能和 面向对象的代码结构, 并使用模拟对象来发现和 然后描述之间的关系 对象。一路上,这本书 系统地解决挑战 开发团队遇到的 TDD - 将TDD整合到您的 测试最多的过程 困难的特征。
编辑: 我现在正在阅读Michael Feathers的Working Effectively with Legacy Code,这非常好。从书的描述:
- 了解软件变更的机制:添加功能,
修复错误,改进设计,优化性能- 将遗留代码纳入测试工具
- 编写可以防止引入新问题的测试
- 这本书还包括二十四个依赖性破坏的目录 帮助您合作的技巧 程序元素孤立和制造 更安全的变化。
我已经读过它了,它是我读过的最好的编程书之一(我个人认为它必须被称为Refactoring to Testability - 它描述了使代码可测试的过程)。因为可测试的代码是很好的代码。
答案 2 :(得分:8)
对我来说,这是最好的一个:
答案 3 :(得分:6)
最近合理的书籍The Art of Unit Testing。我很惊讶这里没有提到。
答案 4 :(得分:4)
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#,但你应该能够自己搞清楚。
答案 5 :(得分:2)
我是Pragmatic Bookshelf几乎所有事情的忠实粉丝,但这两个确实帮我把重点放在了家里:
The Pragmatic Programmer: From Journeyman to Master。这个年龄真的很好。我推荐给任何开发者。
Pragmatic Unit Testing in C# with NUnit, 2nd Edition。不要让标题吓到你。这些概念与语言无关,即使使用C#示例也是如此。
答案 6 :(得分:1)
Dave Astels'Test-Driven Development: A Practical Guide