Everydayrailsspecを参考に
RSpecでlog_in_as(user)を定義したのですが、
support/utilities.rb
Ruby
1module LoginSupport 2 def log_in_as(user) 3 post '/login', params: {session: {email: user.email, password: user.password}} 4 end 5 6 RSpec.configure do |config| 7 config.include LoginSupport 8 end 9end
RSpecで実行すると
Failure/Error: post '/login', params: {session: {email: user.email, password: user.password}} NoMethodError: undefined method `post' for #<RSpec::ExampleGroups::User::Update::User_2:0x00000000047682a8> # ./spec/support/utilities.rb:3:in `log_in_as'
postが定義されていないと出ます。
こちら(qiita)も試しましたが、同様に動きません。
何が原因かわかる方がいましたらご教授願いたいです。よろしくお願いいたします。
当該機能を使うテストファイルはどこに配置されていますか?
spec/controllers に無い場合は「describe MyController, type: :controller do...end」のようにテストする対象を明示する必要があります: [ruby on rails - problem with rspec test, undefined method 'post' - Stack Overflow]( https://stackoverflow.com/questions/7135377/problem-with-rspec-test-undefined-method-post )
ファイルの移動ないしスペック タイプの明示をした場合、何か変化は見られますか?
ありがとうございます。ちょうど今そこのサイトにたどり着いていた次第でございます。
スペック タイプの明示をした場合に成功いたしました。
回答1件
あなたの回答
tips
プレビュー