rspec模型测试唯一性
rspec model test uniqueness
在 validates_uniqueness_of
折旧后使用 rails 4 进行测试的正确语法是什么?
在我的模型中...
# 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
我做错了什么?
调用 build
实际上不会 运行 验证。试试 Fabricate(:wo, number: "494949")
.
在 validates_uniqueness_of
折旧后使用 rails 4 进行测试的正确语法是什么?
在我的模型中...
# 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
我做错了什么?
调用 build
实际上不会 运行 验证。试试 Fabricate(:wo, number: "494949")
.