0

次のように、正常に機能する多くのアクティブなレコード検証があります: code: belongs_to :topics test:it { should belong_to :topic }

ただし、active_hash 関連付けと次のようなテストがあります。

コード: belongs_to_active_hash :day
テスト: pending { should belong_to_active_hash :day }

しかし、テストは失敗します:

未定義のメソッドif' for #<Shoulda::Matchers...

4

1 に答える 1

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

これを頻繁に使用する場合は、カスタムマッチャーを作成できます。

于 2012-07-11T04:57:00.060 に答える