One thing I found useful with Trompeloeil was the tracer. You instantiate a tracer, and then every call made into a mocked object is logged for you. Really make it easy to see how a mysterious controller operates on the thing you are mocking.
Plus, the very act of engineering in a dependency injection for the mock if not already provided, enforces a testable interface.
Plus, the very act of engineering in a dependency injection for the mock if not already provided, enforces a testable interface.