Mockito – Stub’y

Klasa Sub-owa utworzona do celów testowych.

Następnie aby móc przetestować service tworzymy instancje Stub’a który zwraca listę gotowych danych. AccountRepository accountRepositoryStub = new AccountRepositoryStub(). Następnie accountRepositoryStub musimy przekazać do AccountService ponieważ serwis implementuje repository a repository jest dependencją serwisu. Cały ten blok umieszczamy w sekcji given.

Natomiast w sekcji „when” instancja AccountRepositoryStub ma zwrócić wszystkie konta a metoda „getAllActiveAccount” zwraca listę danych którą utworzyliśmy. 

Test za pomocą Stuba

Na końcu w sekcji than sprawdzamy assercją otrzymany wynik:

assertThat(accountList, hasSize(2));

Jeżeli chcielibyśmy przetestować inny scenariusz to trzeba było by utworzyć kolejną klasę stubową z metodą która zwracałaby inny zestaw danych. Tym samym będzie dodawać nowe klasy Stubowe i aplikacja może stać się trudna w utrzymaniu Natomiast jeżeli do naszego interfejsu zostaną dodane nowe metody to również trzeba będzie je implementować we wszystkich klasach stubowych. W związku z tym to rozwiąznie jest dobre ale dla raczej dla małych aplikacji. Dla dużych lepszym rozwiązaniem są Mocki.

Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *