在使用Shoulda Matchers进行测试时,FactoryGirl构建被忽略了

时间:2015-07-11 01:58:45

标签: ruby-on-rails testing rspec factory-bot shoulda

我最近切换到了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

1 个答案:

答案 0 :(得分:0)

对于这种情况,您不需要实例与Shoulda匹配器匹配;它只会针对模型定义本身测试the usage of validate_presence_of

所以,我会改写你的测试:

require 'rails_helper'

describe Restaurant do
  it { should validate_presence_of(:name) }
end