我正在为用户模型中的一个方法编写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.这里有什么问题?
答案 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
中的“定义工厂”