web-dev-qa-db-ja.com

未定義のメソッド `create 'Rails仕様。

ファクトリーガールをインストールしてスペックで使おうとしています。

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

次のエラーが発生します。

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

factory_botのドキュメント で解決策を見つけることができます:

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 }
19
yesnik

私の場合、私はconfig.include FactoryGirl::Syntax::Methods in Rails_helper.rb

11
Illia Kuzma