2011-02-24 62 views
6
Foo.expects(:bar) 
Foo.bar(:abc => 123, :xyz => 987) 

# assert Foo.bar was called with a hash that has a key of :abc == 123 

对象基本上我想检查作为参数的存根方法传递的对象,以便在该对象的值检查。在我的情况下,我不能使用Foo.expects(:bar).with({:abc => 123}),因为我知道对象不会彼此相等。我只想比较论证的一个子值。得到作为参数传递到存根方法与摩卡

当然,这是可能的,我在这里找不到语法或策略。

回答

10

我想通了!原来with可以挡一块。

Foo.expects(:bar).with do |the_hash| 
    the_hash[:abc] == 123 
end 
+0

感谢您的支持! – Jason 2015-01-16 15:45:42