我正在使用mockito编写一个junit测试用例,并试图绕过测试方法中的静态方法调用。我得到一个 NullPointerException
运行测试用例时。
有没有什么方法可以绕过上述调用而不使用 PowerMockito
或者在下面提到的方法中需要什么修复?
下面是帮助您理解问题的代码片段:
=>这是我的代码,我想用mockito为其编写一个junit测试用例。
class MyClassToTest{
public void methodToTest(){
JsonObject obj = MyUtilClass.staticMethod(arg1);
}
}
=>以下是 MyUtilClass
:
class MyUtilClass{
public static JsonObject staticMethod(JsonObject arg1){
//use arg1 to populate return object
return jsonobject;
}
}
=>下面是我当前的测试类和测试方法如何查找 MyClassToTest.methodToTest
```
class MyTestClass{
public void test_methodToTest(){
JsonObject dummy_jsonObject = new JsonObject().put("foo","foo");
doReturn(dummy_jsonObject).when(MyUtilClass.staticMethod(any()));
}
}
1条答案
按热度按时间ubby3x7f1#
如果你想嘲笑你的
staticMethod
从MyUtilClass
对于mockito(需要3.4.0或更高版本),存根如下所示(我假设您使用的是java版本>9):您可以在这里找到mockito这个特性的更多信息和示例。