![](/img/trans.png)
[英]PowerMockito to mock a static method inside a class using MockitoJUnitRunner
[英]How to use PowerMockito to mock new class instance inside a static method
我有一个带有静态方法的类,在静态方法内部,我创建了一个不同类的实例并将其保存在地图中。 我需要为此方法编写单元测试。 最好的方法是什么?
例如:
public class MyClass {
public static synchronized void method (String str1, String str2, Object obj){
do something.....
DifferentClass dc = new DifferentClass(str1,str2,obj);
dc.methodCall();
do something.....
}
}
试图做到这一点:
DifferentClass dc = PowerMockito.mock(DifferentClass.class);
PowerMockito.whenNew(DifferentClass.class).withArguments(str1,str2,obj).thenReturn(dc);
而且我在dc.methodCall()中得到了空指针异常;
谢谢
确保在@PrepareForTest
具有MyClass
。 另外,我建议使用withParameterTypes
。 它不是强制性的,但有助于避免某些错误。
模拟可能无法正常工作。 在withArguments()方法调用中使用Powermockito.anyString()或类似的东西(我不确定版本是否正确)。 不要这样使用字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.