【发布时间】:2011-07-05 17:03:56
【问题描述】:
在将 Resque 与 Rspec 示例并行实施时,我感到困惑。
以下是一个方法昂贵的类.generate(self)
类 SomeClass
...
ChangeGenerator.generate(self)
...
结束
实现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 个单独的作业类?
【问题讨论】: