##はじめに
RSpecのテストを実行したときに
Failure/Error:
post login_path, params: { session: { email: user.email,
password: user.password } }
ArgumentError:
wrong number of arguments (given 2, expected 0)
と出てエラー解決に時間がかかったので書いていきます。
##エラー内容
このエラーは「呼び出し側の引数」(given 2)と2に対して「メソッド側の仮引数」(expect 0)で0ですよと言われています。何らかの理由で値にズレが生じているということです。
##発生した原因
RSpecのコード内で
let!(:post) { create(:post, user: user) }
という記述をしていて、post login_path, params: { session: { } }のpostがget,post,deleteなどのpostではなくてRSpecコード内のlet!(:post)を呼び出してしまっているから。
##解決方法
先ほどあったコードの名前を変えてあげるだけです。
let!(:new_post) { create(:post, user: user) }
##参照
https://qiita.com/yo0917/items/20c165a3b06805bf2e37
##最後に
すごい初歩的なミスかもしれませんがRSpec書きたての僕はすごい悩まされたので今後も頑張って解決していきたいです。
文章力も上げていきたいです。