我有课,比如说 ABC。 这个类中有静态方法
public static void staticOne(){...}
在同一个类中还存在非静态方法,比如 method1() method2()
。
在mockito中,我想为
method1()
编写测试用例,其中调用静态方法staticOne并且我想模拟它。
那么我该怎么做呢?
我使用的是mockito版本4.11.0。 我可以只使用mockito来解决这个问题吗?
====================================================== ============
class ABC {
public void static staticOne(){
...
}
public string method1(){
staticOne();
...
}
}
如何在模拟 staticOne 时为
method1()
编写测试用例
虽然有可能,但我不推荐它。可能有一种方法可以重构静态方法并将其拆分为 util 类。
如果不可能,您可以使用
MockStatic
,然后创建一个实例:
MockedStatic<ABC> staticABC = Mockito.mockStatic(ABC.class);
... // define operations on mock
ABC abc = new ABC();
abc.method1();
... // assertions
我在此存储库中添加了一个示例