When starting up Django using the default
manage.py runserver it performs system checks:
Performing system checks...
Watching for file changes with StatReloader
System check identified no issues (0 silenced).
May 18, 2023 - 16:48:17
Django version 4.1.9, using settings 'config.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Is there anyway to run the equivalent to these checks, but using a test runner such as
pytest so that CI would fail if any of these system checks would have failed?
It looks like both
check run the
check method in
django.core.management.base.BaseCommand, which looks to me to use
My guess would be that you could do the same thing.
See System check framework | Django documentation | Django and System check framework | Django documentation | Django
I also just learned that you can run:
python manage.py check --settings config.settings --fail-level DEBUG --verbosity 3
This is probably preferred since it’s documented and
manage.py presumably has all of the settings and other things needed.
I’ll probably add this to my
noxfile.py to run just before
pytest is invoked.