我正在处理的代码如下:
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
。
你知道一种存根函数调用的方法,所以我可以测试它是用正确的参数调用的,而不是用正确的参数测试请求吗?
我花了一些时间在上面,我无法找到办法。
事先,谢谢!
答案 0 :(得分:0)
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
传递给{{1}}。