File: configuring_django.rst

package info (click to toggle)
pytest-django 2.9.1-3~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 428 kB
  • sloc: python: 1,009; makefile: 148
file content (82 lines) | stat: -rw-r--r-- 1,916 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
.. _configuring_django_settings:

Configuring Django settings
===========================

There are a couple of different ways Django settings can be provided for
the tests.

The environment variable ``DJANGO_SETTINGS_MODULE``
---------------------------------------------------

Running the tests with DJANGO_SETTINGS_MODULE defined will find the
Django settings the same way Django does by default.

Example::

    $ export DJANGO_SETTINGS_MODULE=test_settings
    $ py.test

or::

    $ DJANGO_SETTINGS_MODULE=test_settings py.test


Command line option ``--ds=SETTINGS``
-------------------------------------

Example::

    $ py.test --ds=test_settings


pytest.ini settings
-------------------

Example contents of pytest.ini::

    [pytest]
    DJANGO_SETTINGS_MODULE = test_settings

Order of choosing settings
--------------------------

If `--ds`, the environment variable and the pytest.ini configuration is used at
the same time, pytest-django will first prefer using settings from the command
line option `--ds`, then the environment variable and last the pytest.ini.

Using django-configurations
---------------------------

There is support for using `django-configurations <https://pypi.python.org/pypi/django-configurations/>`_.

To do so configure the settings class using an environment variable, the --dc
flag, or pytest.ini DJANGO_CONFIGURATION.

Environment Variable::

    $ export DJANGO_CONFIGURATION=MySettings
    $ py.test

Command Line Option::

    $ py.test --dc=MySettings


INI File Contents::

    [pytest]
    DJANGO_CONFIGURATION=MySettings

Using ``django.conf.settings.configure()``
------------------------------------------

Django settings can be set up by calling ``django.conf.settings.configure()``.

This can be done from your project's ``conftest.py`` file::

    from django.conf import settings

    def pytest_configure():
        settings.configure(DATABASES=...)