mirror of
https://github.com/django/django.git
synced 2025-06-05 03:29:12 +00:00
[1.4.x] Fixed #4501 - Documented how to use coverage.py with Django tests.
Thanks krzysiumed for the draft patch. Backport of 7ef2781ca0ce48872e21dce2f322c9e4106d1cfd from master.
This commit is contained in:
parent
c06b724a00
commit
1be0515fe9
@ -560,6 +560,49 @@ failed and erroneous tests. If all the tests pass, the return code is 0. This
|
||||
feature is useful if you're using the test-runner script in a shell script and
|
||||
need to test for success or failure at that level.
|
||||
|
||||
Speeding up the tests
|
||||
---------------------
|
||||
|
||||
In recent versions of Django, the default password hasher is rather slow by
|
||||
design. If during your tests you are authenticating many users, you may want
|
||||
to use a custom settings file and set the :setting:`PASSWORD_HASHERS` setting
|
||||
to a faster hashing algorithm::
|
||||
|
||||
PASSWORD_HASHERS = (
|
||||
'django.contrib.auth.hashers.MD5PasswordHasher',
|
||||
)
|
||||
|
||||
Don't forget to also include in :setting:`PASSWORD_HASHERS` any hashing
|
||||
algorithm used in fixtures, if any.
|
||||
|
||||
Integration with coverage.py
|
||||
----------------------------
|
||||
|
||||
Code coverage describes how much source code has been tested. It shows which
|
||||
parts of your code are being exercised by tests and which are not. It's an
|
||||
important part of testing applications, so it's strongly recommended to check
|
||||
the coverage of your tests.
|
||||
|
||||
Django can be easily integrated with `coverage.py`_, a tool for measuring code
|
||||
coverage of Python programs. First, `install coverage.py`_. Next, run the
|
||||
following from your project folder containing ``manage.py``::
|
||||
|
||||
coverage run --source='.' manage.py test myapp
|
||||
|
||||
This runs your tests and collects coverage data of the executed files in your
|
||||
project. You can see a report of this data by typing following command::
|
||||
|
||||
coverage report
|
||||
|
||||
Note that some Django code was executed while running tests, but it is not
|
||||
listed here because of the ``source`` flag passed to the previous command.
|
||||
|
||||
For more options like annotated HTML listings detailing missed lines, see the
|
||||
`coverage.py`_ docs.
|
||||
|
||||
.. _coverage.py: http://nedbatchelder.com/code/coverage/
|
||||
.. _install coverage.py: http://pypi.python.org/pypi/coverage
|
||||
|
||||
Testing tools
|
||||
=============
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user