Mocks suck. Their preconceptions don’t conform to the reality of most codebases, and using them in your test suite will make your tests brittle, frustrating, and less readable.
##Mocks and Arrange-Act-Assert Long before the BDDers came along and told us that tests were composed of Given, When and Then steps, the pattern ‘Arrange, Act, Assert’ was well-established for creating readable tests. That is, tests were laid out like this: