Команда test

Команда test применяется для автоматического обнаружения и запуска всех тестов в Django-проекте. Она ищет тесты в файлах с префиксом "test_" внутри каждого приложения, выполняет их и выводит результаты выполнения. Команда поддерживает различные параметры для настройки процесса тестирования, включая указание конкретных приложений или тестовых файлов.

Синтаксис

pythonpython manage.py test [app_name] [test_file] [options]

Пример

Базовый запуск всех тестов в проекте:

pythonpython manage.py test

Результат выполнения команды:

python"Creating test database for alias 'default'..."
"System check identified no issues (0 silenced)."
"............................"
"----------------------------------------------------------------------"
"Ran 28 tests in 12.345s"
"OK"

В результате мы видим, что все тесты прошли успешно, и система создала тестовую базу данных для изолированного выполнения тестов.

Пример

Запуск тестов конкретного приложения:

pythonpython manage.py test myapp

Результат выполнения команды:

python"Creating test database for alias 'default'..."
"System check identified no issues (0 silenced)."
"........."
"----------------------------------------------------------------------"
"Ran 9 tests in 4.567s"
"OK"

Пример

Запуск тестов с указанием пути к файлу и класса:

pythonpython manage.py test myapp.tests.test_models.ArticleTestCase

Результат выполнения команды:

python"Creating test database for alias 'default'..."
"System check identified no issues (0 silenced)."
"..."
"----------------------------------------------------------------------"
"Ran 3 tests in 1.234s"
"OK"

Можно запустить только один тестовый класс или даже один метод, указав полный путь до него.

Пример

Запуск тестов с параметром для параллельного выполнения:

pythonpython manage.py test --parallel

Результат выполнения команды:

python"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,
    которая проверяет проект на наличие распространённых проблем и ошибок