我想知道如何测试 ActionCable 频道。
假设我有以下聊天频道:
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 的任何信息。