我最近切换到了Shoulda Matchers,但似乎无法验证我的工厂版本。我在之前的回调中实例化了我的工厂版本,但匹配器似乎甚至没有承认它。例如,我故意将我的实例名称设置为nil
,但测试不会返回任何错误。我做错了什么?
require 'rails_helper'
describe Restaurant do
context 'validations' do
before { FactoryGirl.build(:restaurant, name: nil) }
it do
should validate_presence_of(:name)
end
end
end
答案 0 :(得分:0)
对于这种情况,您不需要实例与Shoulda匹配器匹配;它只会针对模型定义本身测试the usage of validate_presence_of
。
所以,我会改写你的测试:
require 'rails_helper'
describe Restaurant do
it { should validate_presence_of(:name) }
end