У меня есть много заданий, которые вызывают другие вложенные задания, используя perform_later
. Тем не менее, во время некоторых тестов на Cucumber, я хотел бы выполнить эти задания сразу после того, как продолжить тесты.Cucumber - выполнить задания ActiveJob `perform_later` сразу
Я думал, что это будет достаточно, чтобы добавить
# features/support/active_job.rb
World(ActiveJob::TestHelper)
И назвать работу с помощью этого в файле определения шага
perform_enqueued_jobs do
# call step that calls MyJob.perform_later(*args)
end
Однако я бегу в что-то вроде этого
undefined method `perform_enqueued_jobs' for #<ActiveJob::QueueAdapters::AsyncAdapter:0x007f98fd03b900> (NoMethodError)
Что мне не хватает/не так?
Вы нашли ответ на этот вопрос ? Сейчас я сталкиваюсь с той же проблемой. – Rystraum
Hey @Rystraum Я сейчас смотрю на свой рабочий код, и, по-видимому, мои тесты используют «.perform_now» на шагах, и, похоже, он работает нормально. Я не верю, что мне нужно было изменять скрытые настройки где угодно ... см. Мой ответ –