找回密码
 立即注册
相关推荐换一批
  1. TB/T 2658.17-1999 工务作业标准 大型捣固车作业
  2. TB/T 1506-2003 单双线电话闭塞无联锁接发列车作业标准
  3. TB/T 1504-2003 单双线半自动闭塞色灯电锁器联锁接发列车作业标准
  4. DL/T 676-1999 带电作业绝缘鞋(靴〕通用技术条件
  5. GB/T 19185-2003 交流线路带电作业安全距离计算方法
  6. GB/T 18857-2002 配电线路带电作业技术导则
  7. GB 10437-1989 作业场所超高频辐射卫生标准
  8. GB/T 12984-1991 R类工效学 视觉信息作业基本术语
  9. SY/T 5792-1993 油(气)水井侧钻施工作业规程
  10. SY/T 5587.3-2004 常规修井作业规程 第3部分:油气井压井、替喷、诱喷
  11. SY/T 5587.11-2004 常规修井作业规程 第11部分:钻铣封隔器、桥塞
  12. 2019年人教版小学一年级语文上册第五单元学习成果检测题考试卷及参考答案解析
  13. 2017年小学一年级数学暑假巩固练习作业
  14. 2013年深圳市小学一年级数学:暑期综合实践与巩固作业集
  15. 2013年孙岗小学一年级暑期学习计划与作业安排表
  16. 2011年度小学一年级语文下册句子专项训练与提升练习题
  17. GB/T 17244-1998 热环境 根据WBGT指数(湿球黑球温度)对作业人员热负荷的评价
  18. GB 13750-1992 振动沉拔桩机 安全操作规程
  19. GB 13746-1992 铅作业安全卫生规程
  20. GB 13733-1992 有毒作业场所空气采样规范
  21. GB/T 17061-1997 作业场所空气采样仪器的技术规范
  22. GB/T 16795-1997 信息技术 开放系统互连 作业传送和操纵的概念与服务
  23. JB/T 4030.1-2000 汽车起重机和轮胎起重机试验规范 作业可靠性试验
  24. JB 8526-1997 高压水射流清洗作业安全规范
ServiceMaileruserdeliver作业 | 软件设计/软件工程 2022-05-03 519 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
问题
尝试使用延迟的作业活动记录升级到 Rails 4.2。我没有为测试环境设置延迟作业后端,因为我认为该作业会立即执行。

我正在尝试测试新的“deliver_later”。使用 Rspec 的方法,但我不确定如何。

旧控制器代码:

ServiceMailer.delay.new_user(@user)

新控制器代码:

ServiceMailer.new_user(@user).deliver_later

我曾经这样测试:

期望(ServiceMailer).to receive(:new_user).with(@user).and_return(double("mailer", :deliver => true))

现在我得到了它的错误。 (双重“邮件程序”收到意外消息:稍后通过(无参数))

只要

期望(ServiceMailer)。接收(:new_user)

使用 'undefined 方法 'deliver_later' nil:NilClass 也失败了

我已经尝试了一些示例,这些示例允许您使用 ActiveJob 中的 test_helper 来查看作业是否已排队,但我还没有成功测试正确的作业正在排队。

期望(enqueued_jobs.size).to eq(1)

如果包含 test_helper,这将通过,但它不允许我检查是否发送了正确的电子邮件。

我想做的是:

有任何想法吗? ?

谢谢

回答
如果我理解正确,您可以:
  1. message_delivery = instance_double(ActionMailer::MessageDelivery)
  2. expect(ServiceMailer).to receive(:new_user).with(@user).and_return(message_delivery)
  3. allow(message_delivery).to receive(:deliver_later)
复制代码

关键是您需要以某种方式为 Deliver_later 提供双精度。





上一篇:替换整个页面上多个单词的所有例子
下一篇:如何从列表中的整数中删除重复的数字