Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 在Rails中为什么我的邮件正文只在我的测试中空?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个actionmailer类和相关的开销,它的工作完美.然而,在我的单元测试(rails default minitest)中,电子邮件正文为空.这是为什么?

我的邮件类:

class Termsmailer < ApplicationMailer
  default from: "info@domain.com"
  def notice_email(user,fileName)
    @user = user
    @file = filename
    mail(to: "info@domain.com",subject: 'Data downloaded')
  end
end

我的测试:

require 'test_Helper'

class TermsmailerTest < ActionMailer::TESTCase
  test "notice" do
    email = Termsmailer.notice_email(users(:mE),'file.ext').deliver_now
    assert_not ActionMailer::Base.deliveries.empty?
    assert_equal ['info@domain.com'],email.from
    assert_equal ['info@domain.com'],email.to
    assert_equal 'Data downloaded',email.subject
    assert_equal 'arbitrary garbage for comparison',email.body.to_s
  end
end

这个邮件程序的视图不是空白的,实际上是在电子邮件中发送正确的内容.那么为什么我的测试中的电子邮件正文空白?

解决方法

你可能有两个版本的电子邮件模板(text.erb和html.erb).

如果是这样,您可以使用email.text_part.body.to_s作为纯文本电子邮件,email.html_part.body.to_s用于HTML版本.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 在Rails中为什么我的邮件正文只在我的测试中空?全部内容,希望文章能够帮你解决ruby-on-rails – 在Rails中为什么我的邮件正文只在我的测试中空?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。