gpt4 book ai didi

python - 使用 Django 测试工作获取 live_server 固定装置

转载 作者:行者123 更新时间:2023-12-02 03:52:25 24 4
gpt4 key购买 nike

我想同时使用 pytestpytest-djangopytest-selenium 来测试我的 Django 应用程序功能。如果我使用 python manage.py runserver 手动启动服务器,并手动输入 URL,则可以正常工作。

来自 pytest-djangolive_server 固定装置应该在后台启动一个我可以使用的服务器进程,但它不起作用。我没有通过测试,而是得到“在此服务器上找不到请求的资源。”

以下是我的文件的相关部分:

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 是根据 pytest.ini 中的 addopts 行设置的,但据我所知。

最佳答案

如果您正在针对默认索引页(带有“安装成功!恭喜!”问候语的索引页)进行测试,则仅在使用 DEBUG = True 运行开发服务器时才会显示该索引页。特别是,它不会出现在测试中。如果你想使用该 View ,你需要像其他 View 一样在 urls 模块中显式配置它:

# urls.py
from django.urls import path
from django.views.debug import default_urlconf


urlpatterns = [
path('', default_urlconf, name='index'),
]

关于python - 使用 Django 测试工作获取 live_server 固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56819782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com