У меня возникла путаница при реализации Resque параллельно с примерами Rspec.
Ниже приведен класс с дорогим методом .generate (self)
класс SomeClass
...
ChangeGenerator.generate (сам)
...
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 заданий, нужно ли мне создавать 10 отдельных классов заданий с помощью метода self.perform
?