0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Failure/Error: config.include FactoryBot::Syntax::Methodsが出た時の対処方法

Last updated at Posted at 2021-10-10

今回は記述場所を間違えるという非常に初歩的なミスが原因でしたが、他の方の記事を見ても、どこかしらで記述ミスしていることが多いという印象を受けました。

同じようなエラーで詰まっている方の参考になれば幸いです。

やりたいこと

rspecによるテストの実行。
Failure/Error: config.include FactoryBot::Syntax::MethodsNameError:uninitialized constant FactoryBotの解決。

やったこと

ターミナルでbundle exec rspecを実行すると、下記のエラーが発生した。

エラー内容

ターミナル
An error occurred while loading rails_helper.
Failure/Error: config.include FactoryBot::Syntax::Methods

NameError:
  uninitialized constant FactoryBot
# ./spec/spec_helper.rb:19:in `block in <top (required)>'
# ./spec/spec_helper.rb:18:in `<top (required)>'
# ./spec/rails_helper.rb:4:in `require'
# ./spec/rails_helper.rb:4:in `<top (required)>'

エラーの原因

初歩的すぎるが、config.include FactoryBot::Syntax::Methodsを記述する場所を間違っていた。

具体的には下記が原因で間違えました。

rspecをインストールすると、spec_helper.rbrails_helper.rbが作成される。

config.include FactoryBot::Syntax::Methodsrails_helper.rbファイルのRSpec.configure do |config|の下部に追記する。

RSpec.configure do |config|という記述がspec_helper.rbrails_helper.rbの両方に存在することに気づかず、spec_helper.rbの方に追記してしまった。

解決策

rails_helper.rbRSpec.configure do |config|下に追記する。

rails_helper.rb
RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
 (中略)
end

学んだこと

今回のミスはただ記述する場所を間違えたという初歩的すぎるものだが、たったこれだけでエラー解決に時間を取られてしまうため、どこのファイルに記述するか・スペルミスはないかなどケアレスミスに注意して開発を進める

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?