Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 1.41 KB

tests.rst

File metadata and controls

59 lines (38 loc) · 1.41 KB

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:

.. option:: DATABASE_USER
.. option:: DATABASE_PASSWORD
.. option:: DATABASE_HOST
.. option:: DATABASE_USER_POSTGRES
.. option:: DATABASE_PORT_POSTGRES
.. option:: DATABASE_USER_MYSQL
.. option:: 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.1 and 4.2
  • 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