Отложенное Задание, не обработанное в rspec

Я пытаюсь выполнить rspecs для пользовательского отложенного задания (GetPage:: GetPageJob), но у меня есть проблема.

Когда я выполняю их, задания хорошо ставятся в очередь (то есть хорошо вставленный в delayed_jobs таблицу), но они не обрабатываются рабочим задания. Действительно, после запускающихся "граблей jobs:work RAILS_ENV=test" в первом терминале, и после выполнения спецификаций во втором терминале, я не вижу вывода от рабочего задания в первом терминале.

С другой стороны, задания хорошо обрабатываются, если я ставлю в очередь их через "тест сценария/консоли". Таким образом, я немного смущен.

И со спецификациями и со сценарием/консолью, строка я использую для постановки в очередь моих заданий:

Delayed::Job.enqueue GetPage::GetPageJob.new("http://cnn.com")

Какая-либо идея?

35
задан Jerome 7 July 2010 в 04:20
поделиться

1 ответ

В прошлом я пытался провести сквозное тестирование логики -> отложенного задания -> выполнения задания, и это было слишком много вещей. Я думаю, что вместо того, чтобы тестировать весь этот сладкий процесс с помощью RSpec, вы можете сосредоточиться на тестировании каждого аспекта.

Итак, тестируем, что задание вставляется. Затем, есть еще один тест, который проверяет, что должно произойти, когда задание выполняется.

В качестве альтернативы, создайте имитацию отложенного задания, чтобы при регистрации задания оно выполнялось сразу же.

3
ответ дан 27 November 2019 в 06:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: