我在this tutorial之后设置了请求规范。如果我用bundle exec rspec
运行测试,我会收到以下错误:
An error occurred while loading ./spec/factories/entities_spec.rb.
Failure/Error:
FactoryBot.define do
factory :entity do
name { FFaker::Lorem.word }
end
end
NameError:
uninitialized constant FactoryBot
本教程仅要求将一些配置添加到rails_helper.rb文件中。我无法想象我需要添加一个require 'factory_bot'
。如果我将它添加到rails_helper.rb文件的顶部,则错误仍然存在。如果我将它添加到factories / entity_spec.rb文件,我会收到此错误:
An error occurred while loading ./spec/requests/entities_spec.rb.
Failure/Error:
factory :entity do
name { FFaker::Lorem.word }
end
FactoryBot::DuplicateDefinitionError:
Factory already registered: entity
只需重命名我的factories/*.rb
文件,例如factories/user_spec.rb
到factories/user.rb
解决了这个问题。