Команда test
Команда test применяется для автоматического обнаружения и запуска всех тестов в Django-проекте. Она ищет тесты в файлах с префиксом "test_" внутри каждого приложения, выполняет их и выводит результаты выполнения. Команда поддерживает различные параметры для настройки процесса тестирования, включая указание конкретных приложений или тестовых файлов.
Синтаксис
python manage.py test [app_name] [test_file] [options]
Пример
Базовый запуск всех тестов в проекте:
python manage.py test
Результат выполнения команды:
"Creating test database for alias 'default'..."
"System check identified no issues (0 silenced)."
"............................"
"----------------------------------------------------------------------"
"Ran 28 tests in 12.345s"
"OK"
В результате мы видим, что все тесты прошли успешно, и система создала тестовую базу данных для изолированного выполнения тестов.
Пример
Запуск тестов конкретного приложения:
python manage.py test myapp
Результат выполнения команды:
"Creating test database for alias 'default'..."
"System check identified no issues (0 silenced)."
"........."
"----------------------------------------------------------------------"
"Ran 9 tests in 4.567s"
"OK"
Пример
Запуск тестов с указанием пути к файлу и класса:
python manage.py test myapp.tests.test_models.ArticleTestCase
Результат выполнения команды:
"Creating test database for alias 'default'..."
"System check identified no issues (0 silenced)."
"..."
"----------------------------------------------------------------------"
"Ran 3 tests in 1.234s"
"OK"
Можно запустить только один тестовый класс или даже один метод, указав полный путь до него.
Пример
Запуск тестов с параметром для параллельного выполнения:
python manage.py test --parallel
Результат выполнения команды:
"Creating test database for alias 'default'..."
"Using parallel test runner with 8 processes"
"Creating test database for alias 'default'..."
"Creating test database for alias 'default'..."
"............................"
"----------------------------------------------------------------------"
"Ran 28 tests in 3.456s"
"OK"
Параметр --parallel ускоряет выполнение тестов за счёт использования нескольких ядер процессора. Количество процессов можно указать явно: --parallel=4.
Смотрите также
-
команда
runserver,
которая запускает локальный сервер разработки -
команда
shell,
которая открывает интерактивную оболочку Python с загруженным окружением Django -
команда
testserver,
которая запускает тестовый сервер для проверки интеграционных тестов -
команда
check,
которая проверяет проект на наличие распространённых проблем и ошибок