I actually use 'phpspec/prophecy' in my own projects when the mocks get to complicated.
PHPUnit Mocks have properly the worst API, using with() would make you expect to only match then, but if you use multiple it tends to fail.

Once #175 is resolved that however is no longer an issue ;)