Rails5.1.3, RSpec3.6でアプリのテストを実行しようとしたところ下記エラーでテストすら実行されない現象が起きています。
昨日は、なにも起きずにテストは失敗するもののRspecでのテストは行えました。何が起きているのかわからず困っております。
エラーの内容は以下になります。
[vagrant@localhost chibi]$ bin/rspec spec/controllers/staff/accounts_controller_ spec.rb Running via Spring preloader in process 15262 An error occurred while loading ./spec/controllers/staff/accounts_controller_spe c.rb. Failure/Error: it_behaves_like 'a protected singular staff controller' ArgumentError: Could not find shared examples "a protected singular staff controller" # ./spec/controllers/staff/accounts_controller_spec.rb:4:in `block in <top (requ ired)>' # ./spec/controllers/staff/accounts_controller_spec.rb:3:in `<top (required)>' # -e:1:in `<main>' No examples found. Finished in 0.0025 seconds (files took 0.58066 seconds to load) 0 examples, 0 failures, 1 error occurred outside of examples
テストコードは以下になります。
spec/controllers/staff/accounts_controller_spec.rb require 'rails_helper' describe Staff::AccountsController, 'ログイン前' do it_behaves_like 'a protected singular staff controller' end describe Staff::AccountsController do describe '#update' do let(:params_hash) { attributes_for(:staff_member) } let(:staff_member) { create(:staff_member) } before do session[:staff_member_id] = staff_member.id session[:last_access_time] = 1.second.ago end example 'email属性を変更する' do params_hash.merge!(email: 'test@example.com') patch :update, params:{id: staff_member.id, staff_member: params_hash} staff_member.reload expect(staff_member.email).to eq('test@example.com') end example '例外ActionController::ParameterMissingが発生' do bypass_rescue expect { patch :update, params:{id: staff_member.id}} . to raise_error(ActionController::ParameterMissing) end example 'end_dateの値は書き換え不可' do params_hash.merge!(end_date: Date.tomorrow) expect { patch :update, params:{id: staff_member.id, staff_member: params_hash} }.not_to change { staff_member.end_date } end end end
どうすればテストが実行できるようになるでしょうか?宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー