首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Django测试获得live_server fixture

使用Django测试获得live_server fixture
EN

Stack Overflow用户
提问于 2019-06-30 02:10:09
回答 1查看 758关注 0票数 3

我想一起使用pytestpytest-djangopytest-selenium来测试我的Django应用程序的功能。如果我用python manage.py runserver手动启动服务器,并手动输入网址,它会工作得很好。

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

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

pytest.ini

代码语言:javascript
复制
[pytest]
DJANGO_SETTINGS_MODULE = chatsite_api.settings.test
addopts = --liveserver localhost:8080  --cov=. --cov-report=html --driver Firefox

test_pages.py

代码语言:javascript
复制
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

代码语言:javascript
复制
from .dev import *  # NOQA

DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}}

DEBUG = True

正如我所说的,当我自己启动服务器时,测试运行得很好,但是live_server fixture似乎没有完成它应该做的事情。我已经验证了live_server.url是根据pytest.ini中的addopts行设置的,但这就是我所得到的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-30 16:22:06

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

代码语言:javascript
复制
# urls.py
from django.urls import path
from django.views.debug import default_urlconf


urlpatterns = [
    path('', default_urlconf, name='index'),
]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56819782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档