Running the Test Suite¶
django-treebeard
includes a comprehensive test suite. It is highly
recommended that you run and update the test suite when you send patches.
pytest¶
You will need pytest to run the test suite:
$ pip install pytest
Then just run the test suite:
$ pytest
You can use all the features and plugins of pytest this way.
By default the test suite will run using a sqlite3 database in RAM, but you can change this setting environment variables:
- DATABASE_USER¶
- DATABASE_PASSWORD¶
- DATABASE_HOST¶
- DATABASE_USER_POSTGRES¶
- DATABASE_PORT_POSTGRES¶
- DATABASE_USER_MYSQL¶
- DATABASE_PORT_MYSQL¶
Sets the database settings to be used by the test suite. Useful if you want to test the same database engine/version you use in production.
tox¶
django-treebeard
uses tox to run the test suite in all the supported
environments - permutations of:
Python 3.8 - 3.11
Django 3.2, 4.0 and 4.1
Sqlite, MySQL, PostgreSQL and MSSQL
This means that there are a lot of permutations, which takes a long time. If you want to test only one or a few environments, use the -e option in tox, like:
$ tox -e py39-dj32-postgres