How much of the code are we testing?
When writing tests, the goal is to test everything. Although we can try to be vigilant and manually ensure that we have a test for every line of our code, that's a very hard goal to meet without some automated analysis to verify what lines of code are executed by our tests. For Python code, Ned Batchelder's coverage
module is an excellent tool for determining what lines of code are being executed. In this section, we see how to use coverage
, first as a standalone utility and then integrated into our Django project.
Using coverage standalone
Before using coverage
, it must first be installed, since it's neither included with Python nor Django 1.1. If you are using Linux, your distribution package manager may have coverage
available to be installed on your system. Alternatively, the latest version of coverage
can always be found at its web page on the Python Package Index (PyPI), http://pypi.python.org/pypi/coverage. The version of coverage
used here is 3...