1,静态方法 调用

在类上 添加注解
@RunWith(PowerMockRunner.class)
@PrepareForTest({A.class})

使用:
PowerMockito.mockStatic(A.class);
when(A.method(“1564”, “456”,“789”)).thenReturn(String.valueOf((int)(Math.random()*Math.pow(10, 7))));

2,对于 方法里 有 new 的 类的

在测试类上添加注解
@RunWith(PowerMockRunner.class)
@PrepareForTest({A.class}) // 注意 : 此处 A 为要测试的类 ,并非 new的 类

B b = PowerMockito.mock(B.class);
PowerMockito.whenNew(B.class).withNoArguments().thenReturn(b);

public class A{
public Object aa(){
return 0;
}
}
注 : 这样是有之后 扫描覆盖率为0;不建议使用

3,PowerMockito.stub 使用
@RunWith(PowerMockRunner.class)
在类上加上 @PrepareForTest({ A.class}) 注解
A为要阻止的对象
在方法中使用
PowerMockito.stub(PowerMockito.method(A.class,“search”,int.class,int.class,String.class,Map.class)).toReturn(maps);
第一个参数 为 要阻止的对象 与 @PrepareForTest 上边的相同 ,第二个 是 方法名 后边是参数类型