0
Каким будет правильный синтаксис для тестирования с рельсами 4 после амортизации validates_uniqueness_of
?Уникальность испытания модели rspec
в моей модели ...
# prior to Rails 4
validates_uniqueness_of :number
# Rails 4
validates :number, uniqueness: true
в тестовом файле ...
# prior to rails 4
it {should validate_uniqueness_of(:number)}
этот тест не пройден ...
# this fails but with the correct error message expected
it "validates the uniqueness of number" do
Fabricate(:wo, number: "494949")
expect{Fabricate.build(:wo, number: "494949")}.to raise_error(ActiveRecord::RecordInvalid, "Validation failed: Number has already been taken")
end
Что я делаю неправильно?
Мне нравится драгоценный камень 'musta-matchers'. Как только вы установите, есть один тест линейки, который вы можете включить для большей части вашей модели, включая уникальность (validate_uniqueness_of). –
Я подумал, что 'validates_uniqueness_of'is теперь обесценивается в рельсах 4 – Beengie
Истинный (я думаю) для модели, как вы говорите в своем посте, но драгоценный камень дает вам хороший помощник. Я запускаю 4.2 и в своем тесте у меня есть: 'it {должен validate_uniqueness_of (: email)}'. –