ArgumentError:工厂未注册:用户

时间:2015-11-17 18:49:23

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

我正在为用户模型中的一个方法编写rspec:

describe "#generate_password_reset_token!" do
    subject { user }
    let!(:user) { create(:user) }

    it "changes the password_reset_token attribute" do
        expect { user.generate_password_reset_token! }.to change { user.password_reset_token }
    end
end

我跑了测试,然后说

Failure/Error: let!(:user) {create(:user)}
ArgumentError:
  Factory not registered: user

以下是设置:

config.before(:all) do
   FactoryGirl.reload
end

config.include FactoryGirl::Syntax::Methods
config.before(:suite) { DatabaseCleaner.strategy = :truncation }
config.before(:each) { DatabaseCleaner.start }
config.after(:each) { DatabaseCleaner.clean }

我正在使用rails 4.这里有什么问题?

1 个答案:

答案 0 :(得分:0)

您需要为您的用户创建一个工厂:

<强>规格/工厂/ users.rb的

FactoryGirl.define do
  factory :user do
    email 'example@email.com'
  end
end

请参阅http://www.rubydoc.info/gems/factory_girl/file/GETTING_STARTED.md

中的“定义工厂”