This document discusses testing with mock objects and provides guidance on their use. It notes that mocks are used to test in isolation by removing dependencies, and that mocks simulate object interaction while stubs simulate object state. Examples are given of scenarios where mocks are useful, such as distributed development and non-deterministic outcomes. The document recommends using mocks for developer tests but not acceptance tests, and lists some useful mocking patterns and resources for learning more.