带参数的Rspec stub_chain

时间:2015-03-18 10:06:43

标签: ruby-on-rails rspec stub

我知道我可以做到以下几点:

Foo.stub_chain(:bar, :baz).with(:marflar).with(:quux)

这会打断对

的调用
Foo.bar(:marflar).baz(:quux)

但如果我想删除提供给baz的参数,我该怎么办?即。

Foo.bar(:marflar).baz

1 个答案:

答案 0 :(得分:1)

要匹配不带任何参数的呼叫,您可以使用with(no_args)。如果您不关心参数,请使用with(any_args)。有more matchers available

所以要匹配这个:

Foo.bar(:marflar).baz

使用此:

# expect no arguments
Foo.stub_chain(:bar, :baz).with(:marflar).with(no_args)
# expect 0 or any arguments
Foo.stub_chain(:bar, :baz).with(:marflar).with(any_args)