Могу ли я отключить некоторых работников BackgroundRb во время тестов?

У меня есть сотрудник BackgroundRb, отвечающий за рассылку некоторых электронных писем.

Как я должен сказать этому работнику не запускаться во время испытаний? Есть ли в фреймворке какой-либо параметр конфигурации или рабочий заглушки, которые я мог бы использовать?

MiddleMan.worker(:emails_worker).async_send_mails(:arg => {:emails => emails})

1 ответ

Я бы сказал, заглушить это в ваших тестах.

Если вы используете rspec (извините, что я знаю лучше), то я бы:

Middleman.stub!(:worker)

в вашем блоке before, и он позволит вам вызывать его, и вы можете проверить, что он называется так

Middleman.should_receive(:worker).with(YOUR_ARGS_HERE)

но это не будет работать.

С другой стороны, я бы также сказал, что BackgroundRb не является современной технологией, и сейчас есть гораздо лучшие фоновые рабочие решения. Я бы сказал, посмотрите на что-то вроде отложенной работы.

Другие вопросы по тегам