14 Ocak 2020 Salı

PowerMockito Whitebox Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.powermock.reflect.Whitebox;
getInternalState metodu
Sınıfın private alanının değeri alınabilir.

invokeConstructor metodu
Private builder içeren sınıf yaratılabilir.

invokeMethod metodu
Private metod çağrılabilir.

setInternalState metodu
Public olmayan alana değer atanabilir.
Örnek - static alan
Elimizde şöyle bir kod olsun
public class Foo {
  private static Bar b;
}
Bu alan static olduğu için şöyle yaparız. Buradar mockBar Bar tipinden olduğu için ve Bar tipinden tek alan olduğu için sıkıntık çıkmıyor.
Whitebox.setInternalState(Foo.class, mockBar);
Eğer Bar tipinden iki tane alan olsaydı alan ismini kullanmak gerekirdir. Bu durumda şöyle yaparız
Whitebox.setInternalState(Foo.class,"bar", mockBar);

Hiç yorum yok:

Yorum Gönder