/ / Kann ich einige BackgroundRb-Mitarbeiter während der Tests deaktivieren? - Ruby-on-Rails, Testen, Hintergrundrb

Kann ich einige BackgroundRb-Mitarbeiter während der Tests deaktivieren? - Ruby-on-Rails, Testen, Hintergrundrb

Ich habe einen BackgroundRb-Mitarbeiter, der einige E-Mails versendet.

Wie soll ich diesem Arbeiter sagen, dass er während der Tests nicht laufen soll? Enthält das Framework einen Konfigurationsparameter oder einen Stub-Worker, den ich verwenden könnte?

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

Antworten:

1 für die Antwort № 1

Ich würde sagen, es in Ihren Tests auslassen.

Wenn Sie rspec verwenden (sorry, was ich am besten kann), dann würde ich:

Middleman.stub!(:worker)

in Ihrem Vorher-Block und es wird Sie anrufen lassen, und Sie können testen, dass es so genannt wird

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

aber es wird nicht laufen.

Nebenbei bemerkt würde ich auch sagen, dass BackgroundRb nicht auf dem neuesten Stand der Technik ist und es jetzt viel bessere Backgroundworker-Lösungen gibt. Ich würde sagen, in etwas wie verzögerter Job suchen.