/ / Czy mogę wyłączyć niektórych pracowników BackgroundRb podczas testów? - ruby-on-rails, testowanie, backgroundrb

Czy mogę wyłączyć niektórych pracowników BackgroundRb podczas testów? - ruby-on-rails, testowanie, backgroundrb

Mam pracownika BackgroundRb odpowiedzialnego za wysyłanie niektórych wiadomości e-mail.

Jak mam powiedzieć temu pracownikowi, aby nie biec podczas testów? Czy struktura zawiera jakiś parametr konfiguracyjny lub pracownika dodatkowego, z którego mógłbym skorzystać?

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

Odpowiedzi:

1 dla odpowiedzi № 1

Powiedziałbym, że w twoich testach.

Jeśli używasz rspec (przepraszam to, co wiem najlepiej), wtedy chciałbym:

Middleman.stub!(:worker)

w twoim bloku przed i pozwoli ci go wywołać, i możesz przetestować, że tak się nazywa

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

ale nie będzie działać.

Na marginesie chciałbym również powiedzieć, że BackgroundRb nie jest aktualną technologią i teraz jest znacznie więcej rozwiązań działających w tle. Powiedziałbym, spojrzeć na coś w rodzaju opóźnionej pracy.