Code coverage reports for Django unit testing framework
This project is no longer maintained. See Django documentation for an alternative:
django-testcoverage is a package providing code coverage reports for built-in Django unit testing framework.
$ pip install django-testcoverage
Now add a following line to your settings.py:
TEST_RUNNER = 'testcoverage.test_runner.TestCoverageTestRunner'
And you’re ready to go!
Coverage reports are active for default, so you can just run your test as always:
$ ./manage.py test
This will print the coverage report for all Python modules in your project (including Django’s!) which is almost never what you want. You can specify which applications should be tested:
$ ./manage.py test myapp secondapp
If you do so, coverage reports will be computed only for listed apps. You can also globally specify which packages should be included in your coverage reports using adding TESTCOVERAGE_APPS to your settings.py, like:
TESTCOVERAGE_APPS = ( 'somepackage.foo', 'myapp', 'secondapp', )
Then you can run tests for all applications, but only these listed in TESTCOVERAGE_APPS will be included in the coverage report.
You can also turn off coverage reporting by adding to your settings:
TESTCOVERAGE_ACTIVE = False