Мне интересно, как тестировать каналы ActionCable.Как проверить каналы ActionCable с помощью RSpec?
Допустим, у меня есть следующий канал чата:
class ChatChannel < ApplicationCable::Channel
def subscribed
current_user.increment!(:num_of_chats)
stream_from "chat_#{params[:chat_id]}"
stream_from "chat_stats_#{params[:chat_id]}"
end
end
Метод subscribed
обновляет БД и определяет два потока, которые будут транслироваться по каналу, но детали не очень важны, так как мой вопрос более общий:
- Как настроить тест для проверки логики, связанной с подпиской на этот канал?
RSpec предоставляет множество вспомогательных методов и различных утилит при тестировании подобных взаимодействий, таких как действие контроллера, но я мог бы найти что-либо в отношении RSpec и ActionCable.
Это очень хорошая идея, спасибо, но (и поправьте меня, если я ошибаюсь) с использованием видеомагнитофона (и TCR аналогично) имеет смысл, когда вы хотите заглушить внешние HTTP-запросы (например, если мое действие контроллера вызывает внешний вызов), но здесь это не так - здесь я просто хочу вызвать свои собственные внутренние методы. Но еще раз - это хорошая идея, и я отдам это. – Dani
Эй, Дани, ты нашел решение? Если да, можете ли вы указать репо, что я мог бы проверить? –