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

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

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

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

1 Ответ

1 голос
/ 18 ноября 2009

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

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

Middleman.stub!(:worker)

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

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

но он не запустится.

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

...