rspec
context 'XXXX' do scenario "XXXXX" do 省略 mail = ActionMailer:: Base.deliveries.last expect(mail.body).to match "HAY" 省略 end end
メールテンプレート app/views/mailer/mail.text.erb
HAY あ
エラー内容
Failure/Error: expect(mail.body).to match "HAY" expected #<Mail::Body:0x00007fad434ba9b8 @boundary="--==_mimepart_5b18d949ce12c_70bb3fd69de666b837063", @pream...xt/html>, <Content-Transfer-Encoding: base64>>], @raw_source="", @ascii_only=true, @encoding="7bit"> to match "HAY" Diff: @@ -1,2 +1,13 @@ -"HAY" +#<Mail::Body:0x00007fad434ba9b8 + @ascii_only=true, + @boundary="--==_mimepart_5b18d949ce12c_70bb3fd69de666b837063", + @charset="US-ASCII", + @encoding="7bit", + @epilogue=nil, + @part_sort_order=["text/plain", "text/enriched", "text/html"], + @parts= + [#<Mail::Part:70191052652560, Multipart: false, Headers: <Content-Type: text/plain>, <Content-Transfer-Encoding: base64>>, + #<Mail::Part:70191067612540, Multipart: false, Headers: <Content-Type: text/html>, <Content-Transfer-Encoding: base64>>], + @preamble=nil, + @raw_source="">
subjectは日本語でもOK
#OK expect(mail.subject).to match "件名のてすと"
エンコードした場合
expect(mail.body.encoded).to match "HAY"
Failure/Error: expect(mail.body.encoded).to match "HAY" expected "\r\n----==_mimepart_5b18de57c36e0_75293fd69de666b8448c9\r\nContent-Type: text/plain;\r\n charset=UTF...\nL2E+CgogIDwvYm9keT4KPC9odG1sPgo=\r\n\r\n----==_mimepart_5b18de57c36e0_75293fd69de666b8448c9--\r\n" to match "HAY" Diff: @@ -1,2 +1,32 @@ -HAY + +----==_mimepart_5b18de57c36e0_75293fd69de666b8448c9 +Content-Type: text/plain; + charset=UTF-8 +Content-Transfer-Encoding: base64 + +SEFZCuOBggoK + +----==_mimepart_5b18de57c36e0_75293fd69de666b8448c9 +Content-Type: text/html; + charset=UTF-8 +Content-Transfer-Encoding: base64 + +PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgaHR0 +cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo +YXJzZXQ9dXRmLTgiIC8+CiAgICA8c3R5bGU+CiAgICAgIC8qIEVtYWlsIHN0 +eWxlcyBuZWVkIHRvIGJlIGlubGluZSAqLwogICAgPC9zdHlsZT4KICA8L2hl +YWQ+CgogIDxib2R5PgogICAgPGgxPjxhIGhyZWY9Imh0dHA6Ly9zb2NjZXJk +b3VnYS5vbmxpbmUiPuOCpuOCpOOCpOODrOWLleeUu09OTElORTwvYT48L2gx +PgoKPHA+IHJpa2loaXNh44GV44KT44CB44Km44Kk44Kk44Os5YuV55S744G4 +44Gu44Om44O844K255m76Yyy44GC44KK44GM44Go44GG44GU44GW44GE44G+ +44GZ44CCPC9wPgo8cD4K5paw6KaP44Om44O844K255m76Yyy44Gu5pyA5b6M +44Gu44K544OG44OD44OX44Gn44GZ44CC5LiL44Gu44Oq44Oz44Kv44KS44Kv +44Oq44OD44Kv44GX44Gm44CB44Oh44O844Or44Ki44OJ44Os44K544Gu56K6 +6KqN44KS6KGM44Gj44Gm44GP44Gg44GV44GE44CCCjwvcD4KCgo8YSBocmVm +PSdodHRwOi8vMTkyLjE2OC4wLjE1L2FjY291bnRfYWN0aXZhdGlvbnMvNUhX +SjhvUWxNNzE5RHJLXzN5NkVyQS9lZGl0P2VtYWlsPXRlc3QtZW1haWxAdGVz +dC5jb20nPuOCouOCq+OCpuODs+ODiOOBrueiuuiqjeOBr+OBk+OBoeOCiSA8 +L2E+CgogIDwvYm9keT4KPC9odG1sPgo= + +----==_mimepart_5b18de57c36e0_75293fd69de666b8448c9--
エンコードしたときにメールテンプレートから日本語を削除すると、上手くテストが通ります。
gmailなどで確認すると日本語はちゃんと表示されています。しかしテストが通りません。テストを通したいです。
上記Rspecを実行すると、エラーになります。メールのテンプレートの内容がHAYだけだとうまくいきますが、日本語が含まれるとうまくいきません。件名に日本語が入ってて問題ありません。ご教示おねがいします。宜しくおねがいします。
あなたの回答
tips
プレビュー