14 Şubat 2019 Perşembe

Mockito doNothing + when Kullanımı - Void Döndüren Metodlar İçin

Giriş
void döndüren metodlarda kullanılır. Bu metod yerine eskiden stubVoid() kullanılırdı. Açıklaması şöyle. Özel bir durum olmadığı müddetçe doNothing() kullanımına gerek yok.
Beware that void methods on mocks do nothing by default! However, there are rare situations when doNothing() comes handy:
- Stubbing consecutive calls on a void method
- When you spy real objects and you want the void method to do nothing
void metodlar sonuç dönmediği için
1. verify() metodu
2.@Captor anotasyonu ile ArgumentCaptor
kullanılır

Metodun çağrıldığını test etmek için verify (foo, times(1)).metodu ismi ve metod parametreleri ile kullanılır

Söz Dizimi
doNothing().when(foo) + metodu ismi ve metod parametreleri ile kullanılır.

Örnek
Şöyle yaparız
@Test
void whenSendInformationForPublishingIsSuccessful() {
  Publishing publishing = Mockito.mock(Publishing.class); //Create mock
  Person person = ...;
  Mockito.doNothing().when(publishing).publishInformation(person);

  Information information = new Information(publishing);
  information.sendInfoForPublishing(person);

  Mockito.verify(publishing,Mockito.times(1)).publishInformation(person); //verify
}

Hiç yorum yok:

Yorum Gönder