【问题标题】:RoR Redis subscription rspec stubRoR Redis 订阅 rspec 存根
【发布时间】:2021-04-12 16:28:09
【问题描述】:

我正在寻找一个存根:

 @redis.subscribe(key) do |on|
   on.message do |channel, message|
      handle_message(message)
   end
 end

但是我不确定on 是什么类型的对象?我们如何在没有.each 块的情况下迭代两个字段通道和消息?如果有人对某些单元测试有任何示例,这似乎是一段非常常见的代码。

【问题讨论】:

  • 在你的循环中添加puts on,看看你得到了什么
  • @dbugger 是的,通常我会同意,但是我正在开发一个需要移动山脉在本地运行的应用程序,我希望有一些我错过的文档。

标签: ruby-on-rails ruby redis


【解决方案1】:

啊,这就是函数的样子和如何存根它。

def message
  yield('channel', 'message')
end

allow(on).to receive(:message).and_yield(channel, msg)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2016-05-22
    • 2015-09-04
    相关资源
    最近更新 更多