In this chapter, you looked at how to use mocks to test interactions between objects. You saw how to hand write our own mocks, followed by using the mocking framework provided in the Python standard library. Next, you saw how to use patching for more advanced mocking. We wrapped it up by looking at a slightly more complex mocking example that had us put all the mocking techniques into practice.
So far you have been looking at writing tests for new code. In the next chapter, you will take a look at how to deal with existing code that does not have tests.