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

rspecのControllerテストでNameError: uninitialized constant HogeControllerが出た際の解決方法

More than 3 years have passed since last update.

rspecのControllerテストを書いていてコントローラが読み込まれない。

ケアレスミスの場合は require rails_helperで治る

多くの場合は以下の様に記述すると解決すると思われます

1行目で rails heplerを読み込みましょう。
バージョンが2系など古い場合は spec_helperを読み込みましょう。

hoge_spec.rb
require 'rails_helper'

namespaceで区切っている場合

基本的にheplerのテストコードは app/ディレクトリ以下と同じ位置にファイルをおかないといけないため。

例えば Admin::HogeControllerとしている場合は以下の様にdescribeの位置にController名を記述する必要があります。

spec/controllers/admin/hoge_spec.rb
require 'rails_helper'

describe Admin::OemsController do
end

テストコードのディレクトリが区切ったネームスペース以下に配置される様にしてください。
controllers/admin/hoge_spec.rb

basicinc
マーケティングとテクノロジーで社会のあらゆる問題を解決する集団
https://tech.basicinc.jp/
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