让测试驱动开发(TDD)为你工作! 本书将使开发人员编写的软件更简单、更干净、更……一句话:更! 这本TDD的指南重点关注真实的项目、真实的开发人员、真实的实现问题以及真实的代码! 著名的敏感捷开发专家David Astels通过使用Java和JUnit测试框架从头开始创建了一个项目,向你展示了TDD的精妙之处。你将深刻理解什么是"测试为先"、它的工作机理、其中的困难以及如何将TDD的诺言付诸实践。 ·实用性!书中遍布了可下载的示例代码、练习题以及网上资源链接 ·介绍强大的TDD工具和技术——包括关键的JUnit扩展,相关内容由它们的创建者(Scott Ambler、Time Bacon、Mike Bowler、Mike Clark、Bryan Dollery、James Newkirk、Bob Payne、Kay Pentacost和Jens Uwe Pipka)撰写
本书特点: ·涵盖重构、意图编程(programming by Intention)、模拟对象(mock object)及更多内容 ·讨论了针对C++、C#/.NET、VB6、Python、Ruby和Smalltalk的TDD框架 ·介绍了以前未发表过的关于GUI软件的测试为先(test-first)技术 ·附录介绍了极限编程和敏捷建模的基本知识 ·面向所有程序员及项目经理
David Astels:早在1985年就开始编写软件,涉及领域从嵌入式环境控制到知识产权保护系统,直到电能交易系统。他创建了Adaption软件公司(www.adaptionsoft.com),主要提供极限编程(XP)和软件工艺(Software Craftsmanship)方面的有关咨询、培训、指导和编程服务。他
FOREWORD
PREFACE
I Background
1 TEST-DRIVEN DEVELOPMENT
2 REFACTORING
3 PROGRAMMING BY INTENTION
II Tools and Techniques
4 JUNIT
5 JUNIT EXTENSIONS
6 JUNIT-RELATED TOOLS
7 MOCK OBJECTS
8 DEVELOPING A GUI TEST-FIRST
III A Java Project:Test-Driven End to End
9 THE PROJECT
10 MOVIE LIST
11 MOVIES CAN BE RENAMED
12 MOVIES ARE UNIQUE
13 RATINGS
14 CATEGORIES
15 FILTER ON CATEGORY
16 PERSISTENCE
17 SORTING
18 MULTIPLE RATINGES
19 REVIEWS
20 PROJECT RETROSPECTIVE
IV xUnit Family Members
21 RUBYUNIT
22 SUNIT
23 CPPUNIT
24 NUNIT
25 PYUNIT
26 VBUNIT
V Appendices
A EXTREME PROGRAMMING
B AGILE MODELING
C ONLINE RESOURCES
D ANSWERS TO EXERCISES
BIBLIOGRAPHY
INDEX