0
鉴于此活动作业方法在其调用的某个方法中有很多开销。在这种情况下,这是一个大的CSV文件的foo.generate
。如何在RSpec中使用mock测试活动作业方法?
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接收(:生成).and_return(csv.file.content) – vitomd
@vitomd谢谢,你可以在代码中编写示例吗?我很难尝试复制。 –