Я хотел бы использовать pytest
, pytest-django
и pytest-selenium
вместе, чтобы проверить функциональность моего приложения Django. Если я запускаю сервер вручную с python manage.py runserver
и вручную ввожу URL, он работает нормально.
Устройство live_server
из pytest-django
должно запускать серверный процесс в фоновом режиме, который я мог бы использовать, но он не работает. Вместо прохождения теста я получаю «Запрошенный ресурс не найден на этом сервере».
Вот соответствующие разделы моих файлов:
pytest.ini
[pytest]
DJANGO_SETTINGS_MODULE = chatsite_api.settings.test
addopts = --liveserver localhost:8080 --cov=. --cov-report=html --driver Firefox
test_pages.py
import pytest
def test_homepage(selenium, live_server):
selenium.get(live_server.url)
assert "Django: the Web framework" in selenium.title
И chatsite_api.settings.test.py
from .dev import * # NOQA
DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}}
DEBUG = True
Как я уже сказал, тесты запускаются нормально, когда я сам запускаю сервер, но устройство live_server, похоже, не выполняет то, что должно. Я убедился, что live_server.url
устанавливается в соответствии с строкой addopts
в pytest.ini, но это насколько я понял.