【发布时间】:2019-03-12 10:33:51
【问题描述】:
我尝试从 FactoryGirl 转换为 FactoryBot。这应该不是一个大问题,但我没有让它工作。代码:
添加到 Gem 文件
gem 'factory_bot'
添加到 spec_helper
FactoryBot.definition_file_paths = %w(spec/factories)
FactoryBot.find_definitions
config.include FactoryBot::Syntax::Methods
工厂
FactoryBot.define do
factory :user do
first_name 'John'
last_name 'Doe'
birthdate { 21.years.ago }
admin false
end
end
当我尝试运行 rspec 测试时,出现以下错误:
NoMethodError: undefined method 'first_name' in 'user' factory!
Method_missing at C:/jruby-9.1.17.0/lib/ruby/gems/shared/gems/factory_bot-5.0.2/lib/factory_bot/definition_proxy.rb:97
block in (root) at <path to factory>
在我看来,gem 已正确加载到项目中,factoryBot 代码已执行。但由于某种原因,它无法识别工厂的结构。
注意: - 我做了一个捆绑安装/更新
【问题讨论】:
-
试试
first_name { 'John' } -
^^^ 塞尔吉奥所说的。 Static attributes 在 factory_bot 5 中被删除。
-
@Stefan:不过,错误消息可能会更好。它本来就没有用。
-
@Stefan:是的,这就是问题所在。谢谢!是的,信息可能会更好......
标签: ruby rspec factory-bot