mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[1.6.x] Fixed #21164 -- Added documentation for issue with test users.
The package renaming restores the older package names (which were also the
documented package names). This doesn't affect test discovery because the
module in question doesn't contain any tests.
Thanks to Carl for the design discussion.
Backport of ddb5385 from master.
This commit is contained in:
@@ -442,6 +442,29 @@ but will not be removed from Django until version 1.8.
|
||||
|
||||
.. _recommendations in the Python documentation: http://docs.python.org/2/library/doctest.html#unittest-api
|
||||
|
||||
Custom User models in tests
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The introduction of the new test runner has also slightly changed the way that
|
||||
test models are imported. As a result, any test that overrides ``AUTH_USER_MODEL``
|
||||
to test behavior with one of Django's test user models (
|
||||
:class:`~django.contrib.auth.tests.custom_user.CustomUser` and
|
||||
:class:`~django.contrib.auth.tests.custom_user.ExtensionUser`) must now
|
||||
explicitly import the User model in your test module::
|
||||
|
||||
from django.contrib.auth.tests.custom_user import CustomUser
|
||||
|
||||
@override_settings(AUTH_USER_MODEL='auth.CustomUser')
|
||||
class CustomUserFeatureTests(TestCase):
|
||||
def test_something(self):
|
||||
# Test code here ...
|
||||
|
||||
This import forces the custom user model to be registered. Without this import,
|
||||
the test will be unable to swap in the custom user model, and you will get an
|
||||
error reporting::
|
||||
|
||||
ImproperlyConfigured: AUTH_USER_MODEL refers to model 'auth.CustomUser' that has not been installed
|
||||
|
||||
Time zone-aware ``day``, ``month``, and ``week_day`` lookups
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
Reference in New Issue
Block a user