前提・実現したいこと
ruby on rails にて rspec を使ったテストコードを書こうと思っています。
rspecをインストールして.rspecに
--format documentationを記述し、
Userモデルは作成してあるので、spec/models/user_spec.rbにテストコードを記述しようとしていますが、bundle exec rspec でエラーが出てしまいます。
発生している問題・エラーメッセージ
An error occurred while loading ./spec/models/user_spec.rb. Hint: Install the `did_you_mean` gem in order to provide suggestions for similarly named files. Failure/Error: require File.expand_path('../config/environment', __dir__) LoadError: cannot load such file -- io/like # ./config/application.rb:7:in `<top (required)>' # ./config/environment.rb:2:in `require_relative' # ./config/environment.rb:2:in `<top (required)>' # ./spec/rails_helper.rb:5:in `require' # ./spec/rails_helper.rb:5:in `<top (required)>' # ./spec/models/user_spec.rb:1:in `require' # ./spec/models/user_spec.rb:1:in `<top (required)>' No examples found. Finished in 0.00004 seconds (files took 1.05 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples
該当のソースコード
require 'rails_helper' describe User do describe '#create' do it "is invalid without a nickname" do user = User.new(nickname: "", email: "kkk@gmail.com", password: "00000000", password_confirmation: "00000000") user.valid? expect(user.errors[:nickname]).to include("can't be blank") end end end
試したこと
require 'rails_helper'とせずに単純な足し算のテストをするとパスする。
'rails_helper'ではなく'spec_helper'とするとuninitialized constant Userとなるが
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", FILE)
require 'rspec/rails'をhelperに記述するとrails_helperと同じエラーになる。
exampleの中身を書かなくても同じエラーになる。
以上のことからrails_helperがうまく読み込めないのかな?と思って調べるもそれ以上分からず、と言った状態です。
補足情報(FW/ツールのバージョンなど)
rspecのバージョンは3.9であることを確認。
railsは5.2.4.1
rubyは2.5.1p57です
回答1件
あなたの回答
tips
プレビュー