我有这段代码:
adapter.send(:conditions_to_fields, :user => user).should == {'owner_id' => user.id}
我更新使用期望:
expect(adapter.send(:conditions_to_fields, :user => user)).to eq {'owner_id' => user.id}
但是这给了我:
syntax error, unexpected =>, expecting '}'
... => user)).to eq {'owner_id' => user.id}
我错过了哪些代码错误或错误? 这是一个常见的问题吗?
答案 0 :(得分:2)
它认为你将一个块传递给eq
,而不是哈希。您可以通过在方法参数周围使用括号来解决此问题:
expect(adapter.foo).to eq({'owner_id' => user.id})
答案 1 :(得分:1)
解决此问题的一种方法是使用Hash
代替{}
e.g。
expect(adapter.send(:conditions_to_fields, :pwner => user)).to eq \
Hash('owner_id' => user.id, 'owner_type' => user.class.name)