我有许多有效的记录验证,可以正常工作,例如:
代码:belongs_to :topics
测试:it { should belong_to :topic }
但是我有一个active_hash关联和这样的测试:
代码:belongs_to_active_hash :day
测试:pending { should belong_to_active_hash :day }
但测试失败了:
未定义的方法if' for #<Shoulda::Matchers
...
答案 0 :(得分:0)
Shoulda不支持ActiveHash匹配器。您可以手动测试:
specify do
reflection = YourModel.reflect_on_association(:day)
options = {} # options you passed to belongs_to_active_hash
reflection.should_not be_nil
reflection.macro.should eq :belongs_to
reflection.options.should eq options
end
如果您经常使用此功能,则可以创建自定义匹配器。