这是我的场景:
更新AR对象后,它会用Resque触发一系列后台作业。在我的规范中,我模拟了对Resque#enqueue的调用,如下所示:
it 'should be published' do
# I need to setup these mocks in many places where I want to mock a specific call to Resque, otherwise it fails
Resque.should_receive(:enqueue).with(NotInterestedJob1, anything)
Resque.should_receive(:enqueue).with(NotInterestedJob2, anything)
Resque.should_receive(:enqueue).with(NotInterestedJob3, anything)
# I'm only interested in mocking this Resque call.
Resque.should_receive(:enqueue).with(PublishJob, anything)
end
正如您所看到的,我需要模拟对Resque#enqueue的所有其他调用。每次我想模拟一个特定的调用时,是否有一种方法可以只模拟一个自定义调用,而忽略其他具有不同参数的调用?
提前致谢;)
1条答案
按热度按时间cetgtptt1#
我认为在这种情况下,您需要执行我认为相当于
as_null_object
的方法存根处理,但在这种情况下,特别是对于您不关心的Resque.enqueue
调用: