Как протестировать вызовы методов у websocket.Conn из gorilla/websocket?

Пытаюсь написать шину для выталкивания некоторых событий на клиент. Решил использовать gorilla/websocket. Но остановился на самом важном месте - собственно приём и отправка сообщений. Как мне можно протестировать факт закрытия соединения, например? Хорошо, метод Close, есть в стандартном интерфейсе, но как протестировать, что другие методы были вызваны?

Есть устойчивое ощущение, что эти вопросы уже решены, но найти ответы я самостоятельно не смог.
  • Вопрос задан
  • 1566 просмотров
Пригласить эксперта
Ответы на вопрос 2
Tyranron
@Tyranron
Чтобы мокать в модульных тестах, есть вот такое:
https://github.com/posener/wstest

Также есть вариант делать интеграционки/E2E-тесты через
https://github.com/gavv/httpexpect
Запилено тут, юзать через форк (ибо у автора 2 месяц руки не доходят поревьюить).
Там можно тесты натравливать как напрямую на HTTP-сервер с WS, так и подменить клиент чтобы он сразу к хэндлерам присасывался, не подымая полноценный HTTP-сервер (как раз идею и слизал с posener/wstest).

Оба решения используются мной на реальном проекте без проблем и вполне удачно.
Ответ написан
zoonman
@zoonman
⋆⋆⋆⋆⋆
Как насчет того, чтобы посмотреть исходники самой гориллы, в особенности тесты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы