【发布时间】:2016-10-03 18:34:41
【问题描述】:
鉴于此 Active Job 方法在其调用的方法之一中具有大量开销。在这种情况下,是 foo.generate 生成了一个大的 CSV 文件。
class SomeJob < ApplicationJob
queue_as :default
def perform(foo)
csv = foo.generate
JobMailer.send_csv(foo.email, csv).deliver
end
end
我知道您可以使用模拟来为foo.generate 创建输出,但是我这样做的次数越多,我觉得我只是在我的测试中写出整个方法。谁能给我一些指导?
【问题讨论】:
-
你可以有一个虚拟的 csv 文件并加载它,然后使用模拟。 allow_any_instance_of(SomeJob).to receive(: generate).and_return(csv.file.content)
-
@vitomd 谢谢,你能用代码写下这个例子吗?我很难尝试复制。
标签: ruby-on-rails rspec rails-activejob