TDD Immersion – Resources, Links, Slides, and Code
Here are some TDD-related links as well as the slides and code samples from TDD Immersion.
Slides
Intro to TDD
Writing Testable Code
Using Rhino Mocks
Using Moq
Dependency Injection With StructureMap
Tying It All Together
Code
ASP.NET MVC Sample Project – sample project that shows you have set up an ASP.NET MVC project using StructureMap and Rhino Mocks so that you can effectively unit test the application
HttpInterfaces – interfaces for unmockable HttpContext and related classes
Specs2Tests – turn English acceptance criteria into test code
Mocking Frameworks
Rhino Mocks – download
Rhino Mocks, documented through tests
Rhino Mocks – documentation (you know, the kind with sentences and paragraphs)
Moq
Moq, documented through tests (by Steve Horn)
Dependency Injection Frameworks (a.k.a. Inversion of Control Containers)
Other Stuff
Should – extension methods to help with testing like ShouldEqual()
NUnit
ReSharper
Books
The Art of Unit Testing, by Roy Osherove
Test Driven Development: By Example, by Kent Beck
Test Driven Development: A Practical Guide, by David Astels
Books – Acceptance Testing
Specification by Example, by Gojko Adzic
The Cucumber Book: Behaviour-Driven Development for Testers and Developers, by Matt Wynne and Aslak Hellesoy
Cucumber and Cheese, by Jeff “Cheezy” Morgan
Even More Reading
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
How much design before unit testing, and how much design knowledge before TDD?
So How do You Introduce TDD into an Organization or Team?
Pair Programming Bot
Why write unit tests?
Empirical Studies Show Test Driven Development Improves Quality
The Relative Cost of Fixing Defects
StructureMap / dependency injection
Introduction to StructureMap
Jeremy Miller’s blog (author of StructureMap)
DimeCasts on StructureMap
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?
Behavior Driven Development
Behavior Driven Development article from CODE Magazine – this one is a must read if you want to understand BDD.
BDD Wiki
Introducing BDD
Software Design
Writing Testable Code Is About Managing Complexity
Writing Testable Code