ArgumentError:工厂未注册:user



我正在为用户模型中的一个方法编写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 }

我正在使用轨道4。这里有什么问题?

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

规范/工厂/用户.rb

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

请参阅中的"定义工厂"http://www.rubydoc.info/gems/factory_girl/file/GETTING_STARTED.md

相关内容

  • 没有找到相关文章

最新更新