【问题标题】:Why do tests for Django Websockets have to be written in pytest?为什么 Django Websockets 的测试必须用 pytest 编写?
【发布时间】:2020-04-16 10:16:56
【问题描述】:

所有教程和官方文档都指向使用pytest来测试Django的websockets。我的问题是为什么 Django 的 unittest 框架不能直接使用,什么时候可能会改变?

【问题讨论】:

  • 如果你在 Django websockets 下你的意思是 channels,那么你可以完美地使用 unittest 库编写测试。 为什么不能直接使用 Django 的 unittest 框架 - 因为 Django 的 unittest 框架不为 websockets 提供任何东西,因为它不是 Django 的一部分? 什么时候可能会改变? - 我猜,当有人添加一个 PR 来实现缺失的位时。

标签: django testing websocket pytest django-channels


【解决方案1】:

unittest 是标准 python 模块,与 Django 没有直接关系,因为它只使用它。

您可以使用 unittest 测试异步函数,但需要更多样板文件(import asyncio 等)

作为频道状态的文档

如果你有正常的 Django 视图,你可以继续测试那些 标准的 Django 测试工具和客户端。你只需要异步 为作为消费者编写的代码设置。

这就是频道使用pytest-asyncio 的原因,以后不会改变

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多