Help us understand the problem. What is going on with this article?

【Rails】 RSpecでNoMethodErrorと言われた人へ

エラーの内容

ターミナルでbundle exec rspecを実行すると以下のような文が表示されてしまい、テストの判定が行われませんでした。

undefined method `build' for #<RSpec::ExampleGroups::User::Create:~~~~~>

undefined method `create' for #<RSpec::ExampleGroups::User::Create:~~~~~>

解決法

1. spec以下にフォルダを作成する

"spec/support/factory_bot.rb"を作成します。

2. factory_bot.rbに次の内容を記述する

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

3. rails_helper.rbで2のファイルを読み込む

rails_helper.rb
require 'support/factory_bot'

ここまで終えて、もう一度bundle exec rspecを実行したところ、無事にテストコードの判定を行うことができました。

参考

Stack Overflow「undefined method `build' for #<RSpec::ExampleGroups::UserName:>

以上を参考に解決することができました。ありがとうございます。

さいごに

前例探しに手間取ったので、記事として残します。同じエラーに遭遇した方の参考になれば幸いです。なお、理屈についてはいまの私では説明できないため、未来の私への覚書も兼ねています。

key_it6
日々勉強しながらTwitterでなんか言っています。Ruby / Rails / Vue.js など。
collab-it
レガシーな不動産流通をHackする企業コラビットです。rails, vuejs, python, awsネタ中心
https://collab-it.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした