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謝謝,你可以在代碼中編寫示例嗎?我很難嘗試複製。 –