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