如例我們需要對LogUtil.class 的 靜態方法進行mock,類格式如下,該類的兩個方法均爲靜態方法。
1 2 3 4 5 6 7 8 9 |
|
使用PowerMockito 測試類如下 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
以上便可以實現的靜態類的mock.
因爲要實現單元測試,還需要實現對類成員變量進行mock.
有兩種主要方法
1.通過繼承方式實現
2.通過反射的方式實現
詳細信息參考鏈接 http://blog.csdn.net/fenglibing/article/details/16842655
反射具體示例如下:
public class Address{
boolean querySwitch= false
}
public class Address_test{
private Address address;
public void test_Address(){
//通過反射改變類成員變量值
boolean querySwitch=false;
Field field=address.getClass().getDeclaredField("querySwitch");
field.setAccessible(true);
field.set(address,querySwitch);
}
}