【问题标题】:Django-channels, how to use mocksDjango-channels,如何使用模拟
【发布时间】:2023-03-06 05:01:01
【问题描述】:

我建立了这个聊天网站,我想测试一下这个功能:

  • 如果您发送消息并且用户在线,则通过 websocket 发送消息:已测试
  • 如果您发送消息并且用户离线,请发送推送通知(这是一个 REST 调用)。

显然,在我的测试中,我不想进行 REST 调用。我想模拟函数“push_notif”。

但是,当我使用 unittest.patch 时,函数不会在消费者中模拟(可能是因为一些异步的东西)。我如何模拟这个“push_notif”函数

【问题讨论】:

标签: django-channels python-mock django-unittest


【解决方案1】:

出于解决方案,我为我的函数“push_notif”做了一个装饰器。如果在测试中,它会写入一个文件“func.__name__,args,kwargs”,然后我在测试中读取这个文件,看看是否通过了正确的调用。

很丑,但是做的很好

【讨论】:

    猜你喜欢
    • 2020-06-04
    • 2019-02-26
    • 2019-01-07
    • 1970-01-01
    • 2018-07-15
    • 2021-12-06
    • 2020-03-06
    • 2021-05-16
    • 1970-01-01
    相关资源
    最近更新 更多