我正在处理的代码如下:
class A
def get_news
when self.type = 'TypeA'
param1 = 'a'
param2 = 'b'
else
param1 = 'c'
param2 = 'd'
end
@news ||= B.new.get_news(param1, param2)
end
end
我希望能够测试正确的参数是否传递给B#get_news
。您是否知道对函数调用进行存根的一种方法,因此我可以测试使用正确的参数调用它,而不是测试使用正确的参数发出的请求?
我花了一些时间,但找不到解决方法。
B的any_instance
中的第一个存根:
B.any_instance.stubs(:get_news)
然后让规范调用您的方法。然后,您可以使用get_news
验证是否调用了expect_any_instance_of
:
expect_any_instance_of(B).to receive(:get_news).with(..., ...)
将您期望with()
方法附带的任何值传递给get_news
。>