Rspec使用参数和块进行模拟

时间:2016-12-11 10:26:45

标签: ruby rspec3

在我的方法中,我通过传递参数和块来调用另一个方法,就像这样 analytics(url, params) do ExternalService.get(url, params) end 我的问题是如何模拟分析,确定它是用正确的参数和块来调用的。假设它是SomeKlass的类方法

我可以模拟用

的正确参数调用分析

expect(SomeKlass).to receive(:analytics).with(url, params)但我无法确保使用正确的阻止它。

1 个答案:

答案 0 :(得分:0)

您应该检查返回值,而不是块内的内容:

expect(SomeKlass).to receive(:analytics).with(url, params).and_return("return value")