是否有belongs_to_active_hash的rspec,与belongs_to:other_model相同

时间:2012-07-10 19:14:59

标签: ruby-on-rails ruby activerecord rspec matcher

我有许多有效的记录验证,可以正常工作,例如: 代码: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 ...

1 个答案:

答案 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

如果您经常使用此功能,则可以创建自定义匹配器。