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 № 1Ich 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.