我对UserMailer类进行了以下RSpec测试:
需要“spec\u helper”
描述UserMailer做什么
它“应该发送欢迎电子邮件”吗
ActionMailer::Base.deliveries.应为空
用户=工厂(:用户)
欢迎发送电子邮件(用户)
ActionMailer::Base.deliveries
终止
终止
此测试第一次通过,但第二次运行时失败。在进行了一点调试之后,第1个测试似乎向ActionMailer::Base.deliveries数组添加了一个项,而该项从未被清除。这会导致测试中的第一行失败,因为数组不是空的
RSpec测试后清除ActionMailer::Base.deliveries数组的最佳方法是什么
RSpec.descripe UserMailer do
在做之前
#ActionMailer::Base.deliveries是一个常规数组
ActionMailer::Base.deliveries=[]
#或者使用ActionMailer::Base.deliveries.clear
终止
它";发送欢迎电子邮件;做
用户=创建(:用户)
欢迎发送电子邮件(用户)。立即发送
期望(ActionMailer::Base.deliveries).出现
终止
终止