私はHartl Railsチュートリアルv5.0.1に従っていて、(おそらく)指定されたエンコーディングが必要なメーラーテストにはまっています。Rails 5.1メーラエンコーディングエラー
関連試験句(私はどちらかのライン上で同様のエラーを取得する):
assert_match user.reset_token, mail.body.encoded
assert_match CGI.escape(user.email), mail.body.encoded
結果のエラーMSG(切り捨て):
Failure:
UserMailerTest#test_password_reset
[...demo/test/mailers/user_mailer_test.rb:30]:
Expected /6qyclXtvAeFin0htTK7t7g/ to match # encoding: US-ASCII
私はRailsの5.1を使用していますのでご注意ください。私の地元のレポで1。メーラー・テンプレートは、デフォルトのエンコードを使用しています。
エラーmsgには、電子メールテンプレートの長い文字列が含まれています。私は "charset = UTF-8"と "Content-Transfer-Encoding:7bit"を見ることができます。
MailerTestファイルでは、アカウントの有効化テストケースの有無にかかわらず、ユーザートークンとCGIエスケープ電子メールアドレスの同じ組み合わせがチェックされます。
提案がありますか? Hartlのチュートリアルでは、この時点までのエンコーディングについては解説していません。
あなたがテストしているメーラーファイル(私はそれが 'user_mailer.rb'と仮定します)とそのテンプレート(例えば' some_mail.html.erb'と 'some_mail.txt.erb')を共有してください。 – Gerry
https://pastebin.com/67GS6Rwg –
質問を編集し、外部リンクを提供するのではなく、コードを追加する方が良いです。 – Gerry