Django-каналы, как использовать моки

Я создаю этот чат-сайт и хочу протестировать его функциональность:

  • если вы отправляете сообщение, а пользователь находится в сети, отправьте сообщение через веб-сокет: Протестировано
  • если вы отправляете сообщение, а пользователь не в сети, отправьте push-уведомление (это вызов REST).

Очевидно, что в моем тесте я не хочу выполнять вызов REST. Я бы хотел поиздеваться над функцией push_notif.

Но когда я использую unittest.patch, функция не издевается в потребителе (вероятно, из-за некоторых асинхронных вещей). Как я могу издеваться над этой функцией push_notif


person Arnaud Fouchet    schedule 28.09.2020    source источник
comment
Можете выложить код и тест?   -  person Ken4scholars    schedule 29.09.2020


Ответы (1)


Из решения я сделал декоратор для своей функции push_notif. Если в тесте он записывает в файл func .__ name __, args, kwargs, то я читаю этот файл в своем тесте, чтобы увидеть, был ли передан правильный вызов.

Уродливо, но добивается цели

person Arnaud Fouchet    schedule 28.09.2020