[英]How to mock in method superclass, starts with static method?
如何使用PowerMockito或Mockito模拟超类中的“ getServerName”方法?
public class A extends B{
public static String builder(){
return new A().get();
}
private String get() {
return this.getServerName();
}
}
public abstract class B{
protected String getServerName(){
return "Server 1";
}
}
记住我是通过静态方法执行的:
public static void main (String [] args) {
String name = A.builder();
}
我能够解决!
你必须监视A班
A a = PowerMockito.spy(new A());
PowerMockito.when(a, "getServerName")
.thenReturn("Mock Value");
// Here is the movement, you have to replace the original constructor.
PowerMockito.whenNew(A.class).withNoArguments().thenReturn(a);
System.out.print(A.builder());
--> Mock Value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.