首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django完全忽略Asynch测试(Django频道)

Django完全忽略Asynch测试(Django频道)
EN

Stack Overflow用户
提问于 2018-03-21 01:54:05
回答 1查看 435关注 0票数 6

我正在开发一个运行Python3.6、Django 2.0和通道2.0.2的web服务器。我想构建一些测试,以确保我的websocket使用者行为良好,不幸的是,每当我运行这些测试时,它们都会被完全忽略。

我一直在跟踪官方渠道关于测试的文档,并且按原样复制了代码通道用于测试其通用使用者。,但是每当我运行测试时,测试运行程序只是报告它没有运行测试:

代码语言:javascript
复制
Creating test database for alias 'default'...
System check identified no issues (0 silenced).

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Destroying test database for alias 'default'...

我没有收到任何错误或其他警告。我已经双倍地检查了我是否安装了pytest-asynciopytest-django,并且我100%确信文件本身是通过在顶部放置一个print语句来加载的。我所有的其他测试都正常运行。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-16 15:50:43

默认的Django测试运行程序没有实现来使用异步,也不会正确地自动发现用@pytest.mark.asyncio修饰的测试函数。

FAQ很好地描述了测试找不到的原因。,但这是我为解决这个问题而做的事情。

安装库pytestpytest-djangopytest-asyncio

代码语言:javascript
复制
pipenv install pytest pytest-django pytest-asyncio

在包含以下内容的项目根目录创建一个文件pytest.ini,并将projectname.settings替换为项目设置文件的正确名称。

代码语言:javascript
复制
[pytest]
DJANGO_SETTINGS_MODULE = projectname.settings
python_files = tests.py test_*.py *_tests.py

然后,我能够使用pytest运行测试,如https://channels.readthedocs.io/en/latest/topics/testing.html中所描述的。

如果这仍然不起作用,请查看一下:https://pytest-django.readthedocs.io/en/latest/faq.html#faq-tests-not-being-picked-up

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49396918

复制
相关文章

相似问题

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