在将 Resque 与 Rspec 示例并行实施时,我感到困惑。下面是一个方法昂贵的.generate(self)
类类 SomeClass ... ChangeGenerator.generate(self) ... end
实现resque后,上面的类改成下面这样,增加了一个ChangeRecorderJob类。
class SomeClass
...
Resque.enqueue(ChangeRecorderJob, self.id)
...
end
class ChangeRecorderJob
@queue = :change_recorder_job
def self.perform(noti_id)
notification = Notification.find(noti_id)
ChangeGenerator.generate(notification)
end
end
它完美地工作。但我有两个担忧。
之前,我的示例规范用于测试整个.generate(self)
方法堆栈。但是现在既然我把它推到了 Resque 的工作中,我如何才能在不隔离的情况下连接我的示例以使相同的测试成为绿色?还是我必须隔离测试?
最后,如果我有 10 个工作要入队,我是否必须使用self.perform
方法创建 10 个单独的工作类?