Faker Gem 到特定值?

Faker Gem to Specific Values?

假设我有一个简单的工厂:

FactoryGirl.define do
  factory :state do
    name Faker::Address.state_abbr    
  end
end

例如,我们使用的大多数单元测试都是 'ok',例如随机 state_abbr

但是,我有一些依赖下拉菜单的集成测试(在表单中选择一个状态),因为我不知道将要生成什么,所以我不能专门选择它。

自从做了这样的事情: @state = FactoryGirl.create(:state, state_abbr: 'WA')

在我的 Capybara 集成规范中似乎不起作用。有什么方法可以覆盖 faker 生成的内容吗?

(因为我收到类似的错误,例如:

Failure/Error: @state = FactoryGirl.create(:state, state_abbr: 'WA') 没有方法错误: #

的未定义方法 `state_abbr='

使用 "name: "XX" 更改缩写。

作为参考,我真的不能去更改工厂,因为许多其他单元测试都依赖它,这是用于新集成测试。

那是因为在您的州工厂中,字段是 name 而不是 state_abbr

@state = FactoryGirl.create(:state, name: 'WA')