26 Kasım 2018 Pazartesi

Mockito Mockito Sınıfı

Giriş
Mockito yerine PowerMockito kullanmak çok daha kolay. PowerMock bir çok mock'lama kütüphanesinin daha gelişmiş halini sunuyor. Bunlardan bir tanesi PowerMockito. Açıklaması şöyle.
PowerMockito is a PowerMock’s extension API to support Mockito. It provides capabilities to work with the Java Reflection API in a simple way to overcome the problems of Mockito, such as the lack of ability to mock final, static or private methods.
Mockito ve Static Metodlar
Mockito ve Static Metodlar yazısına taşıdım

Mockito ArgumentMatchers
Mockito sınıfı ArgumentMatchers sınıfından kalıttığı için bu yazıyla ilgili olarak Mockito ArgumentMatchers sınıfı yazısına göz atabilirsiniz.

Sonuç Dönmek
when + thenReturn Kullanımı yazısına taşıdım.
doReturn + when Kullanımı yazısına taşıdım.

Custom Sonuç Dönmek
when + thenAnswer yazısına taşıdım.
doAnswer + when yazısına taşıdım.

Gerçek Metodu Çağırmak
when + thenCallRealMethod yazısına taşıdım.
doCallRealMethod + when yazısına taşıdım.

Exception Fırlatmak
when + thenThrow Kullanımı yazısına taşıdım.
doThrow + when Kullanımı yazısına taşıdım.

Testi Veriy Etmek
veriy Kullanımı yazısına taşıdım.

void Döndüren Metodu Test Etmek
doNothing + when Kullanımı yazısına taşıdım. void metodlar genellikle verify() ile birlikte kaç kere ve hangi parametreler ile çağrıldı diye test etmek için kullanılır

given metodu
given() metodu willReturn() ile kullanılır. Şu metod bu parametre ile çağrılınca bu sonucu dön anlamına gelir. when() + thenReturn() ile aynı işe yarar sadece Behaviour Driven Development tarzında kodlanmıştır.

lenient metodu
Şöyle yaparız.
Mockito.lenient().when(...)
mock metodu
Bu metod yerine @Mock anotasyonunu kullanmak daha kolay.

method + with metodu
method + with ile kullanılır. Eğer bir metodun belli bir tip ile çağrılmasını bekliyorsak şöyle yaparız
mock.method("foo").with(isA(B.class));
method ("...").with(isA(Foo.class));

method + will metodu
method + will ile kullanılır. Eğer bir metodun belli değer dönmesini bekliyorsak şöyle yaparız
mock.method("foo").withNoArguments().will(returnValue(false));
then metodu
then() metodu should() ile kullanılır. Test edilen sınıfımın bir metodunu çağırınca mock'lanan nesnenin should() metodundan sonra belirtilen metodunun belirtilen parametre ile çağrıldığını test eder. never() ile kullanılırsa çağrılmadığını test eder.


when metodu


2. thenCallRealMethod
Eğer gerçek metodu çağırmak istersek thenCallRealMethod() kullanılabilir.


Hiç yorum yok:

Yorum Gönder