Могу ли я отключить некоторых работников 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 не является современной технологией, и сейчас есть гораздо лучшие фоновые рабочие решения. Я бы сказал, посмотрите на что-то вроде отложенной работы.