Foo.expects(:bar)
Foo.bar(:abc => 123, :xyz => 987)
# assert Foo.bar was called with a hash that has a key of :abc == 123
基本上我想检查作为参数传递给stubbed方法的对象,以便检查该对象的值。在我的情况下,我不能使用Foo.expects(:bar).with({:abc => 123})
因为我知道对象不会彼此相等。我只是想比较一下这个论点的子值。
当然这是可能的,我在这里找不到语法或策略。
答案 0 :(得分:19)
我明白了!结果with
可以阻止。
Foo.expects(:bar).with do |the_hash|
the_hash[:abc] == 123
end