Railsチュートリアルの12章12.2.2の部分で下記の通りのエラー(Failure)が出てしまい解決できずにいます
発生している問題・エラーメッセージ
1) Failure: UserMailerTest#test_account_activation [/Users/kuritahajime/sample_app/test/mailers/user_mailer_test.rb:11]: Expected /Michael\ Example/ to match "UserMailer#account_activation\n\n, find me in app/views/user_mailer/account_activation.text.erb\n". 39 runs, 145 assertions, 1 failures, 0 errors, 0 skips
該当のソースコード
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.text_part.body.to_s.encode("UTF-8") assert_match user.activation_token, mail.text_part.body.to_s.encode("UTF-8") assert_match CGI.escape(user.email), mail.text_part.body.to_s.encode("UTF-8") 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
エラーコードにある11行目というのは
assert_match user.name, mail.text_part.body.to_s.encode("UTF-8")
の部分になります
Rails初学者なため一通り調べてみたのですがなにが原因でエラーが起きているのかもわかりません
上記のエラーコードのどの部分から原因を推測したのかまでご教授いただけると幸いです
チュートリアル確認しましたが、12.2.2はパスワード再設定メールのテストだと思いますが、発生しているエラーはアカウント有効化メールのテストです。
11.2.2で書いたテストだと思いますが、11.2.2の時点ではテストはパスしてましたか?
11.2.2の時点ではテストをパスしていましたと思います
まじか!
エラー文に書いてあるapp/views/user_mailer/account_activation.text.erbの中身が見たいです。
ついでに、app/mailers/user_mailer.rbも。
すいません、ターミナルを再起動したらエラーが解消されました
お手数をおかけしました
マジか!
解決して、なにより
回答1件
あなたの回答
tips
プレビュー