未定义的方法“create';在Rails RSpec中
我已经安装了FactoryBot,并尝试将其与RSpec一起使用未定义的方法“create';在Rails RSpec中,rspec,factory-bot,rspec-rails,Rspec,Factory Bot,Rspec Rails,我已经安装了FactoryBot,并尝试将其与RSpec一起使用 场景“用户登录”执行 创建:用户,电子邮件:'test@example.com,密码:“testpassword” 访问“/用户/登录” 在“电子邮件”中填写:'test@example.com' 在“密码”中填写:“testpassword” 结束 我得到了以下错误 失败/错误:创建:用户,电子邮件:'test@example.com,密码:“testpassword” 命名错误: 未定义的方法“create”# 在我的例子中
场景“用户登录”执行
创建:用户,电子邮件:'test@example.com,密码:“testpassword”
访问“/用户/登录”
在“电子邮件”中填写:'test@example.com'
在“密码”中填写:“testpassword”
结束
我得到了以下错误
失败/错误:创建:用户,电子邮件:'test@example.com,密码:“testpassword”
命名错误:
未定义的方法“create”#
在我的例子中,我在rails\u helper.rb
中缺少了config.include FactoryGirl::Syntax::Methods
,我们可以在以下方面找到解决方案:
1)创建文件/spec/support/factory\u bot.rb:
2)编辑/spec/rails\u helper.rb以加载支持目录中的所有文件:
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
转到/spec/rails\u helper.rb并搜索 Dir[Rails.root.join('spec','support','**','*.rb')].sort.each{f | require f}
并取消注释它尝试
FactoryGirl.create
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }