Test doubles (a.k.a. “mocks”) managed to gain a bad reputation over the years for causing unreadable and hard-to-maintain tests. Years of misuse led to some programmers advising against test doubles. Even though they are fundamental in the London school of Test Driven Development.
In this talk, Jakub will go back to the origins of the technique to explain scenarios when it's best used and look at common pitfalls. We’ll discuss various types of test doubles based on examples and show how to make them trustworthy. The key to success, as it turns out, will be a combination of contract (role) and collaboration tests.