mirror of
https://github.com/django/django.git
synced 2025-06-06 20:19:13 +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
|
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.
|
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
|
Testing tools
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user