In this chapter, we'll look at the following recipes:
- Using docstrings for testing
- Testing functions that raise exceptions
- Handling common doctest issues
- Creating separate test modules and packages
- Combining unittest and doctest tests
- Testing things that involve dates or times
- Testing things that involve randomness
- Mocking external resources