Building Adaptable Software with Test Driven Development
This three-day course is for experienced C# developers wishing to learn the process of test driven development.
Some experience with TDD, or unit testing, is helpful, but not required.
We will use MSTest, Rhino Mocks, and the Unity Inversion of Control container, but the techniques used can be applied to other testing, mocking, or IOC tools.
Section 0: Introductions and Overview
Section 1: Introduction to Test Driven Development
- Types of testing
- What is test driven development
- The TDD Process
- Building basic tests
- Dealing with the temporal and exceptions
Section 2: Testing in isoloation
- Dependencies
- Dependency paralysis
- Interaction over implementation
- The isolated Testing process
- Inversion of control
- Stand-ins for state-based testing
- Stand-ins for interaction-based testing
- Stubs
- Mocks
- Mock with exceptions
- A fake object
Section 3: Using Rhino Mocks
- Introduction to Rhino Mocks
- Strict mocks
- Dynamic mocks
- Partial mocks
- Stubs
- AAA Syntax and Constraints
- Applying Rhino Mocks
- Adding functionality using mock objects
Section 3: Integrating
- Using the Unity IOC Container
- Configuring dependencies
- Using Unity in ASP.NET MVC: an example