Giriş
Şu satırı dahil ederiz.
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
Şu satırı dahil ederiz.
import org.powermock.reflect.Whitebox;
getInternalState metoduSı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.
Eğer Bar tipinden iki tane alan olsaydı alan ismini kullanmak gerekirdir. Bu durumda şöyle yaparızWhitebox.setInternalState(Foo.class, mockBar);
Whitebox.setInternalState(Foo.class,"bar", mockBar);
Hiç yorum yok:
Yorum Gönder