A clearfull essay about mocking roles and not object, Mock Roles, not Objects by Steve Freeman, Nat Pryce, Tim Mackinnon (*), Joe Walnes.
(*): still remember his keynote at Italian Agile Day 2007 🙂 available here
Copied & Pasted from original Abstract:
Mock Objects is an extension to Test-Driven Development that supports good Object-Oriented design by guiding the discovery of a coherent system of types within a code base. It turns out to be less interesting as a technique for isolating tests from third-party libraries than is widely thought. This paper describes the process of using Mock Objects with an extended example and reports best and worst practices gained from experience of applying the process. It also introduces jMock, a Java framework that embodies our collective experience.