Use pytest-django --reuse-db for faster tests

Pytest-django allows you to re-use database setups between tests for
quicker test runs. This is especially useful for large projects with many
migrations.

For example, here's a project of mine with 40+ migrations:

with --reuse-db
```
pytest --reuse-db  2.54s user 0.35s system 108% cpu 2.669 total
```

without --reuse-db
```
pytest 7.40s user 0.34s system 50% cpu 15.240 total
```

Caveat: if your model happens to change you need to manually --create-db
to ensure migrations are applied.

https://pytest-django.readthedocs.io/en/latest/database.html#reuse-db-reuse-the-testing-database-between-test-runs
This commit is contained in:
Dani Hodovic 2019-11-13 23:28:38 +01:00
parent 9a3391a6eb
commit ff0122acd6
No known key found for this signature in database
GPG Key ID: 15433E10A71D1221

View File

@ -1,5 +1,5 @@
[pytest] [pytest]
addopts = --ds=config.settings.test addopts = --ds=config.settings.test --reuse-db
python_files = tests.py test_*.py python_files = tests.py test_*.py
{%- if cookiecutter.js_task_runner != 'None' %} {%- if cookiecutter.js_task_runner != 'None' %}
norecursedirs = node_modules norecursedirs = node_modules