我有一个 ruby 应用程序,正在使用 rspec 和factorygirl,但我在构建工厂时遇到了麻烦。当我运行规范时,我收到初始化中所需关键字的 ArgumentError: Missing keywords
。如果我显式传递它们,错误将更改为参数 0 为 2 的数量错误
。
感谢您对此提供的任何帮助。
spec/models/player_spec.rb
require 'spec_helper'
describe Player do
it 'has a valid factory' do
player = build(:player) # or build(:player, name: 'testname', password: 'testpw')
end
end
spec/factories/player.rb
FactoryGirl.define do
factory :player do
name { 'Testname' }
password { 'testpass' }
end
end
models/player.rb
def initialize(name:, password:)
@id = object_id
@name = name
@password = password
end
最佳答案
更改您的spec/factories/player.rb:
FactoryGirl.define do
factory :player do
name 'Testname'
password 'testpass'
initialize_with { new(name:name, password: password) }
end
end
您可以找到文档here尽管在本例中没有明确使用。
关于ruby - FactoryGirl 未在构建中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679053/