3
每當我調用任何FactoryGirl創建或構建方法時,我都會遇到一個奇怪的錯誤。factory_girl:創建對象時出現奇怪的錯誤
在我的規格文件我有一個前塊,我想創建用戶的基本列表:
require 'spec_helper'
describe "Users" do
before do
create_list(:user, 3, :confirmed)
@user = User.first
end
end
此行create_list
引發以下錯誤:
TypeError: nil is not a symbol
./spec/requests/users_spec.rb:5:in `block (2 levels) in <top (required)>'
我唯一的工廠文件./spec/factories/user.rb
似乎已加載。 如果我在第一行提出錯誤,則在執行規範測試時會拋出此錯誤。
這是我廠文件的內容:
FactoryGirl.define do
factory :user, aliases: [:friend] do
sequence(:username) { |n| "foo#{n}" }
password "foobar"
password_confirmation {"#{password}"}
email { "#{username}@example.com" }
date_of_birth 20.years.ago
trait :admin do
admin true
end
trait :game_admin do
game_admin true
end
trait :confirmed do
confirmed_at Time.now
end
end
end
既然你不使用'FactoryGirl.create_list(...' ,讓我們知道你是否已經[將語法方法混合到Rspec中](https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#using-factories)。 – Sun
是的,我加載FactoryGirl DSL在我的spec_helper中:config.include FactoryGirl :: Syntax :: Methods –
如果我遺漏了create_list的所有參數,將會引發異常「錯誤的參數數目」。因此,似乎找到了創建方法。 –