In this chapter, we covered how to use virtualenv and pip to install pytest. After that, we jumped into how to write tests, and the different ways to run them so that we can execute just the tests we are interested in. We had an overview of how pytest can provide rich output information for failing tests for different built-in data types. We learned how to use pytest.raises and pytest.warns to check exceptions and warnings, and pytest.approx to avoid common pitfalls when comparing floating point numbers. Then, we briefly discussed how to organize test files and modules in your projects. We also took a look at some of the more useful command-line options so that we can get productive right away. Finally, we covered how pytest.ini files are used for persistent command-line options and other configuration.
In the next chapter, we will learn how to use marks to help us skip...