Effective Test-Driven Development (TDD) through Unit Testing techniques requires proper isolation of testable units. In this session, we will investigate techniques for effectively leveraging the RhinoMocks mock object framework to help isolate our classes while using a TDD approach to build out a small corner of functionality in a much larger project. Starting from a blank slate, using TDD this session will demonstrate the development of a simple system with several dependencies with which we need to interact, ranging from the database to configuration files to web services. Along the way we will explore the roles of mocks, fakes, and stubs in the test-driven development process as we complete a working piece of software.
The ideal attendee will have several years of object-oriented software development experience on the .NET platform. Familiarity with Interfaces, Classes, inheritance, and polymorphism are assumed. Exposure to common .NET 3.5 constructs such as lambda expressions, anonymous types and methods, and extension methods are required. Attendees should also have had some prior exposure to the mechanics of writing unit tests, although not necessarily in a Test-First/Test-Driven context.