2011-12-01 11 views
10

Wygląda na to, że ustawienie oczekiwanej metody wywołania za pomocą Mocha uniemożliwia wywołanie oryginalnej implementacji.Ustaw oczekiwanie wywołania metody, nadal wywołując oryginalną implementację.

This wydaje się obejmować wywoływanie oryginalnej metody za pomocą rspec.

Czy można to zrobić z Mocha? Czy ktoś może wiedzieć, dlaczego nie będzie to obsługiwane?

+0

Od tego czasu przeszedłem na kpiny z rspec z dobrymi wynikami. – aceofspades

Odpowiedz

-4

Nie jest to możliwe z kilku powodów. Jednym z powodów jest to, że testowanie efektu ubocznego metody i testowanie inwokacji metody może być wykonane jaśniej w dwóch osobnych testach. Innym powodem, dla którego czytałem, jest to, że podczas testowania jednostek purystycznych nie można twierdzić o efektach ubocznych innej metody. Przetestowałbyś wywołanie, a następnie przetestowałeś efekty uboczne wywołane metodami w testach jednostkowych dla tej konkretnej metody.

+0

Downvoting: Myślę, że wprowadzasz w błąd wartości zwracane i efekty uboczne. –

+0

@ MarnenLaibow-Koser Czy mógłbyś być bardziej konkretny? Mogę wprowadzić korektę, jeśli wystąpił błąd, ale proszę usunąć skargę. – joshs

+0

Mówisz o tworzeniu "twierdzenia o działaniu ubocznym innej metody", ale to, co wydaje się OP * * (chociaż przyznaję, że jest niejasne) próbuje polegać na * wartości zwracanej * innej metody. Różni się to od efektu ubocznego. Jeśli chodzi o przegłosowanie, przegłosowałem, ponieważ uważam, że twoja odpowiedź była błędna i wprowadzająca w błąd (z powodów już podanych). Nie usunę go, dopóki nie będę już w to uwierzył. –

Powiązane problemy