我有ClassA和ClassB,我有一些在B类构造函数中实例化的工具依赖项,所以我想避免在测试A类foo方法时调用B类构造函数。 A类的foo方法创建了一个B类的实例。我正在使用mockito有什么方法可以告诉测试用例,当调用TestClassA.foo()方法时,不要实例化ClassB但返回虚拟ClassB。 / p>
答案 0 :(得分:1)
我通过将B类实例化职责委托给Factory类解决了我的这个问题。
然后在测试使用mockito来模拟工厂类并调用makeClassB()方法来获取ClassB的实例时,也使用了Mockito.when(factoryMock.makeClassB(anyParameters)).thenReturn(MockClassB)
现在在TestClassA中,我可以调用ClassA的foo()方法,该方法现在使用Factory类创建ClassB的实例,而不是直接创建ClassB实例。