[RUBY] RSpec error resolution undefined method'name' in'user' factory

The error I got when I typed the rspec command.

Conclusion

The way to write the definition of FactoryBot is different.

code

Wrong writing

require 'rails_helper'
FactoryBot.define do
   factory :user do
     name "Example"
     sequence(:email) { |n| "tester#{n}@example.com" }
     password "password"
     password_confirmation "password"
     year "1 year"
     bio "hello!"
   end

end

Correct writing

require 'rails_helper'
FactoryBot.define do

  factory :user do
    name {"Example"}
    sequence(:email) { |n| "tester#{n}@example.com" }
    password {"password"}
    password_confirmation {"password"}
    year {"1 year"}
    bio {"hello!"}
  end
end

Gemfile

group :test do
 #The following three gems are required for rspec.
  gem 'rspec-rails'
  gem 'factory_bot_rails'
  gem 'rails-controller-testing'
  #Required for rspec features.
  gem 'capybara', '~> 2.13'
  #To see which page is currently open while testing with Capybara
  gem 'launchy'
  #Convenient. validation takes about one line.
  gem 'shoulda-matchers',
    git: 'https://github.com/thoughtbot/shoulda-matchers.git',
    branch: 'rails-5'
end

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'spring-commands-rspec'
end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'web-console', '>= 4.1.0'
  # Display performance information such as SQL time and flame graphs for each request in your browser.
  # Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md
  gem 'rack-mini-profiler', '~> 2.0'
  gem 'listen', '~> 3.3'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'

end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

reference: https://stackoverflow.com/questions/57126906/rails-undefined-method-name-in-user-factory-or-undefined-method-for-all-fac

Recommended Posts

RSpec error resolution undefined method'name' in'user' factory
RSpec error resolution undefined method `feature'for RSpec: Module
ITMS-90626 Error Resolution
Rails5 Rspec test error ArgumentError: Factory not registered: user
I got an error "undefined method` create'" in RSpec
rails error resolution summary
Error resolution on Heroku
[Ruby on Rails] undefined method ʻid'for nil: NilClass error resolution method