Mockito – Mock

Teraz podczas debugowania można zobaczyć że nasza lista zawiera faktyczne dane.

debugowanie mocka z danymi testowymi.

Ponieważ to wszystko dzieje się w sekcji „given” to aby być z nią bardziej w zgodzie i aby uniknąć dezorientacji z powodu metody „when” bibliteka Mockito..BDDMockito dostarcza nam metodę given. Wówaczas ta linijka kodu będzie zapisana w następujący sposób: given(accountRepository.getAllAccount()).willReturn(accounts);

Jedyną różnica jest tutaj słówko given oraz willReturn zamiast thenReturn.

Zaletą moków jest to że w przeciwieństwie do stubów aby rozpatrzyć kolejny scenariusz testowy możemy napisać nową metodę testową w tej samej klasie testowej. Zmieniamy tylko wartość jaką chcemy uzyskać z nowej metody testowej.

@Test
void getNoAcctiveAccout(){
//    given
   AccountRepository accountRepository = mock(AccountRepository.class);
  AccountService accountService = new AccountService( accountRepository);       given(accountRepository.getAllAccount()).willReturn(Collections.emptyList());
//     when
   List<Account> accountList = accountService.getAllActiveAccaunt();
//      then
 assertThat(accountList, hasSize(0));
    }

Jeżeli zaś w interfejsie pojawią się nowe metody to będzie trzeba zaimplementować odpowiedniego mocka z odpowiednia metodą.

W kolejnym wpisie zajmę się implementacją mocków poprzez adnotacje @Mock.

Leave a Comment

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