Mocks suck. Matahari sucks less

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: