如何在Ruby中使用RSpec模拟Pusher?

如何在Ruby中使用RSpec模拟Pusher?,第1张

概述目前正在使用Pusher和RSpec. Pusher.should_receive( :trigger ).with( 'message', { :data => '12345' }) 这可以工作,除了呼叫是Pusher [‘channel-id’] .trigger … 如何用RSpec模拟这个? Well []是一个函数名,因此它可以被存根.在Pusher源代码中,您可以看到:def_dele 目前正在使用Pusher和RSpec.

Pusher.should_receive( :trigger ).with( 'message',{ :data => '12345' })

这可以工作,除了呼叫是Pusher [‘channel-ID’] .trigger …

如何用RSpec模拟这个?

解决方法 Well []是一个函数名,因此它可以被存根.在Pusher源代码中,您可以看到:def_delegators:default_clIEnt,:webhook,:channel,:[]因此所有这些方法都转发到default_clIEnt.所以这实际上是一系列方法.

我会像你这样做你想做的事.

mock_clIEnt = mock('clIEnt') Pusher.stub(:[]).with('channel-ID').and_return(mock_clIEnt) mock_clIEnt.should_receive( :trigger ).with( 'message',{ :data => '12345' })

我现在没有方便的rspec,但没有理由说它不起作用.

总结

以上是内存溢出为你收集整理的如何在Ruby中使用RSpec模拟Pusher?全部内容,希望文章能够帮你解决如何在Ruby中使用RSpec模拟Pusher?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存