0

validates :name, uniqueness: true属性のコールバックをどのようにモックアウトしますか?

次のように機能すると思います。

describe "with duplicate name" do
  before { mock(subject.name).unique? { false } }

  it "should be invalid" do
    subject.should have(1).error_on(:name)
  end
4

1 に答える 1

1

shoulda matchersを使用しないのはなぜですか? これを使用すると、標準のコモンレール機能を のようなワンライナーでテストできますit { should validate_uniqueness_of(:name) }。より読みやすくなり、コールバックをモックしてテスト ケースを準備する必要がなくなりました。

于 2012-07-29T13:05:06.410 に答える