【发布时间】:2015-06-06 04:55:38
【问题描述】:
我有一个 ruby 应用程序,我正在使用 rspec 和 factorygirl,但我在建造工厂时遇到了麻烦。当我运行规范时,我得到一个 ArgumentError: missing keywords 用于初始化所需的关键字。如果我明确地传递它们,错误将变为wrong number of arguments 0 for 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
【问题讨论】:
-
您可以编辑您的问题并添加错误跟踪吗?
-
您的关键字是否必须是必需的,或者您可以这样做:
def initialize(name: nil, password: nil)?
标签: ruby testing rspec factory-bot