Jak mogę wywołać metodę tylko przy pierwszym wywołaniu, a w drugim powinien zachowywać się zgodnie z oczekiwaniami?metoda pośrednia tylko przy pierwszym połączeniu z Rspec
Mam następujący sposób:
def method
do_stuff
rescue => MyException
sleep rand
retry
end
Chcę pierwszego wezwania do_stuff
podnieść MyException
, ale w drugim naborze, zachowuje się normalnie. Muszę to zrobić, aby przetestować mój blok rescue
bez uzyskania nieskończonej pętli.
Czy istnieje sposób, aby to osiągnąć?
ten rozwiązano problem wpadłem z tylko do odczytu funkcji ActiveRecord za - I miał model oznaczony jako readonly ('def readonly; true; end'), ale musiał utworzyć instancje w teście i nie chciał testować kodu MUX za pomocą kodu produkcyjnego. Rozwiązanie (w fabryce factory_girl): 'after (: build) do | f | f.stub (: readonly?) {f.unstub (: readonly?); fałszywe }; f.save !; koniec' –