未定义的方法`创建'导轨规格

时间:2015-11-20 14:44:00

标签: rspec factory-bot

我已经安装了工厂女孩,并尝试将其与规格一起使用。

scenario 'User signs in' do
  create :user, email: 'test@example.com', password: 'testpassword'
  visit '/users/sign_in'

  fill_in 'Email', with: 'test@example.com'
  fill_in 'Password', with: 'testpassword'
end

我收到以下错误。

Failure/Error: create :user, email: 'test@example.com', password: 'testpassword'
 NoMethodError:
   undefined method `create' for #<RSpec::ExampleGroups::UserSignIn:0x007fe6324816b8>

3 个答案:

答案 0 :(得分:17)

我们可以在factory_bot's documentation找到解决方案:

1)创建文件 /spec/support/factory_bot.rb

RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end

2)编辑 /spec/rails_helper.rb 以加载 support 目录中的所有文件:

Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }

答案 1 :(得分:11)

就我而言,我在config.include FactoryGirl::Syntax::Methods

中遗失了rails_helper.rb

答案 2 :(得分:0)

转到 /spec/rails_helper.rb 并搜索 目录[Rails.root.join('spec', 'support', '**', '*.rb')].sort.each { |f|需要 f } 并取消注释