undefined method `create' rails spec.

user3814030 picture user3814030 · Nov 20, 2015 · Viewed 9.3k times · Source

I have installed factory girl and trying to use it with spec.

scenario 'User signs in' do
  create :user, email: '[email protected]', password: 'testpassword'
  visit '/users/sign_in'

  fill_in 'Email', with: '[email protected]'
  fill_in 'Password', with: 'testpassword'
end

and I am getting the following error.

Failure/Error: create :user, email: '[email protected]', password: 'testpassword'
 NoMethodError:
   undefined method `create' for #<RSpec::ExampleGroups::UserSignIn:0x007fe6324816b8>

Answer

yesnik picture yesnik · Jun 10, 2017

We can find solution in factory_bot's documentation:

1) Create file /spec/support/factory_bot.rb:

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

2) Edit /spec/rails_helper.rb to load all files in support directory:

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