Stub稍后在perform_later ActiveJob上设置

时间:2016-11-10 15:50:58

标签: ruby-on-rails ruby rspec

我正在尝试在Rspec中删除一个ActiveJob方法,但我不能真正搞砸它。我正在为Mailchimp发送一个电子邮件发送课程MailingListUnsubscribeJob。电话是:

MailingListUnsubscribeJob.set(wait: 20.days).perform_later(subject: user, list: "activation")

通常我没有set(wait: 20.days)时在Rspec中做什么,但我只有perform_later我在我的规范中执行以下操作:

allow(MailingListUnsubscribeJob).to receive(:perform_later)

但它不起作用。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

由于您已经使用RSpec,因此可以使用rpec-activejob

它有matchers you need

  

如果您的工作使用set(wait_until: time),您可以使用.to_run_at(time)   enqueue_a之后调用链。