gpt4 book ai didi

ruby-on-rails - 在Rails中,为什么仅在测试中我的邮件正文为空?

转载 作者:行者123 更新时间:2023-12-03 12:24:30 25 4
gpt4 key购买 nike

我有一个actionmailer类和相关的开销,它运行完美。但是,在我的单元测试(rails默认为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

该邮件程序的 View 不是空白,并且正确的内容实际上是在电子邮件中发送的。那么,为什么我的测试中的电子邮件正文为空白?

最佳答案

您可能有两个版本的电子邮件模板(text.erbhtml.erb)。

如果是这样,则可以将email.text_part.body.to_s用于纯文本电子邮件,并将email.html_part.body.to_s用于HTML版本。

关于ruby-on-rails - 在Rails中,为什么仅在测试中我的邮件正文为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29454102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com