railsチュートリアルの12.2.2をやっていたら、こんなエラーが出ました。
Error: UserMailerTest#test_password_reset: ArgumentError: wrong number of arguments (given 1, expected 0) app/mailers/user_mailer.rb:8:in `password_reset' test/mailers/user_mailer_test.rb:21:in `block in <class:UserMailerTest>'
コードがこちらです。
どこが間違っているのかわかった方、教えていただけると幸いです。もう二、三日試行錯誤しても治らず悩んでいて全く進みません
User_maller.rb: class UserMailer < ApplicationMailer def account_activation(user) @user = user mail to: user.email, subject: "Account activation" end def password_reset @user = user mail to: user.email, subject: "Password reset" end end
user_maller_test.rb: require 'test_helper' class UserMailerTest < ActionMailer::TestCase test "account_activation" do user = users(:michael) user.activation_token = User.new_token mail = UserMailer.account_activation(user) assert_equal "Account activation", mail.subject assert_equal [user.email], mail.to assert_equal ["noreply@example.com"], mail.from assert_match user.name, mail.body.encoded assert_match user.activation_token, mail.body.encoded assert_match CGI.escape(user.email), mail.body.encoded end test "password_reset" do user = users(:michael) user.reset_token = User.new_token mail = UserMailer.password_reset(user) assert_equal "Password reset", mail.subject assert_equal [user.email], mail.to assert_equal ["noreply@example.com"], mail.from assert_match user.reset_token, mail.body.encoded assert_match CGI.escape(user.email), mail.body.encoded end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/14 12:33 編集
2018/08/14 12:28
2018/08/14 12:33