-
Notifications
You must be signed in to change notification settings - Fork 6
Tests
Jacob deGroot-Maggetti edited this page Apr 26, 2024
·
13 revisions
CantusDB has several test suites that should be run and kept up-to-date: one for the users
app, one for the articles
app, and two for the main_app
app. When writing tests, we use the coverage
library to ensure that our tests are testing everything we want them to test (see Test Coverage section, below).
Tests for the main_app
app are kept in main_app/tests
(directory)
There are three test suites that should be run:
-
test_models.py
(code)- run with
python -Wa manage.py test main_app.tests.test_models
(the-Wa
flag tells Python to display deprecation warnings)
- run with
-
test_views.py
(code)- run with
python -Wa manage.py test main_app.tests.test_views
- run with
-
test_functions.py
(code)- run with
python -Wa manage.py test main_app.tests.test_functions
- run with
- you can run all three of these test suites at once using this command:
python manage.py test main_app.tests.test_models main_app.tests.test_views main_app.tests.test_functions articles.tests.test_articles users.tests
main_app/tests
contains two additional files:
-
make_fakes.py
(code): contains a number of functions used in the tests intest_models.py
andtest_views.py
-
test_input.py
(code): This test suite is out-of-date and should not be run. It contains a few failing tests of the Chant Create view; eventually, these tests might be fixed and added totest_views.py
Tests for the articles
app are kept in articles/tests
(directory).
There is one test suite that should be run:
-
test_articles.py
(code)- run with
python -Wa manage.py test articles.tests.test_articles
- run with
Tests for the users
app are kept in users/tests.py
(code).
There is one test suite that should be run:
-
tests.py
(code)- run with
python -Wa manage.py test users.tests
- run with