Może lekki odkop, ale zastanawiam się jak konkretnie miałoby wyglądać mockowanie serwisu ręcznie (implementacja) zamiast używania mockito.
Zakładając np że mamy jakiś CustomerService
i w nim metode fetchCustomerData()
. Metoda fetchCustomerData()
w zależności od logiki/przekazanych parametrów może zachować się np. na 3 różne sposoby (zwraca dane, nie ma takiego customera, dane są niepełne).
W jaki sposób mogę sobie to elastycznie mockować w zależności od przypadku który chce przetestować?
Czy wiąże się to z Implementacją trzech mocków tj. CustomerServiceMock1
, CustomerServiceMock2
, CustomerServiceMock3
w których każdy z nich obsługiwał by jeden z wcześniej wymienionych przypadków?
Czy dobrze zrozumiałem ideę? Jeśli nie to proszę o wytłumaczenie, ewentualnie pokazanie na przykładzie.
Na przykładzie - to nigdy bym nie mockował tego CustomerService
. Po prostu odpaliłbym na testowaj bazie (mockowa h2 in mem), która dla id =1000 ma dane, dla id=1001 nie ma nic w bazie, a dla id =1002 ma dane niepełnie.
Gdyby to CustomerService
było klientem Rest service (a nie bazy danych) - to można użyć WireMocka.