Duża część mojej aplikacji polega na pracy w tle w celu przetworzenia stron internetowych użytkownika, więc muszę napisać kilka testów, aby je uwzględnić.Jak przetestować zadania w tle (Sidekiq) za pomocą Rspec?
pierwsze pytanie jest jak testować kod, który znajduje się w klasie Sidekiq pracownika, na przykład app/workers/some_worker.rb
class SomeWorker
include Sidekiq::Worker
def perform(model_id)
...
end
end
Po drugie, w jaki sposób skrótową kod taki jak poniżej, więc nie trzeba faktycznie uruchomić pracowników i spowolnić moje testy?
response = HTTParty.get("http://users-site.com", timeout: 30)
Woops Brakowało mi tego, widzę, że mogę użyć 'work = HardWorker.new; work.perform (1, 2) 'aby uruchomić kod. Nadal nie wiesz, jak zrobić fałszywe strony zewnętrzne do testów. –
Próba czegoś podobnego do magnetowidu (https://www.relishapp.com/vcr/vcr/ docs) –
[Wspomniana strona wiki Sidekiq na temat testowania] (https://github.com/mperham/sidekiq/wiki/Testing). –