こんにちは、shinoです。
ぼちぼちプログラミングしながら、生きています。
私は、プログラミングスクールに通い、継続学習を140日続けています。
今回は、NoMethodError:undefined method `create’ の対処法を解説していきます。
発生している問題
spec/system/users_spec.rbの処理ができない。
let(:user) {create(:user)}で処理が止まってしまう。
該当のソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
describe 'ユーザログイン' do let(:user) { create(:user) } before do visit new_user_session_path end context 'ログイン画面に遷移' do let(:test_user) { user } it 'ログインできる' do fill_in 'user[email]',with: test_user.email fill_in 'user[password]', with: test_user.password click_button 'Log in' expect(page).to have_content 'Signed in successfully.' end it 'ログインできない' do fill_in 'user[email]', with:'' fill_in 'user[password]', with: '' click_button 'Log in' expect(page).to have_content '' end end end |
解決策
rails_helper.rbに以下を追加する。
config.include FactoryBot::Syntax::Methods
これを追加することで、無事にRSpecのテストが通りました。
コメント