Test Driven Development
- TDD Design Starter Kit: It’s All about Assigning Responsibilities
- TDD Design Starter Kit – State vs. Interaction Testing
- TDD Design Starter Kit – Dependency Inversion Principle
- TDD Design Starter Kit – Responsibilities, Cohesion, and Coupling
- TDD Design Starter Kit – Static Methods and Singletons May Be Harmful
- Succeed with TDD by designing with TDD
- Unit Testing Business Logic without Tripping Over the Database
- Haacked on TDD and Jeremy’s First Rule of TDD
- Jeremy’s Second Law of TDD: Push, Don’t Pull
- Achieve Better Results by following Jeremy’s Third Law of TDD: Test Small
Before Testing Big – I think this is the most important lesson for making TDD work for you
- How much design before unit testing, and how much design knowledge before TDD?
- So How do You Introduce TDD into an Organization or Team?
Dependency Injection and Inversion of Control
- Inversion of Control with the Plugin Pattern
- What’s so great about Inversion of Control?
- The Dependency Injection Pattern – What is it and why do I care?
- Mock Objects and Stubs: The Bottle Brush of TDD
- Why and When to Use Mock Objects
- Best and Worst Practices for Mock Objects
- Mock Objects are your Friend
I just spent the last couple of hours reading the 150 pages I printed out from his blog. It’s an impressive body of work. N.B. Yes the examples are all in C# but for the most part it’s not relevant the ideas are portable across most languages.
BTW my absence this past week is largely due to the effort I put into preparing and giving a tutorial Introducing TDD.