Java 单元测试避免类A测试方法中的类B构造函数调用

Java 单元测试避免类A测试方法中的类B构造函数调用,java,android,unit-testing,Java,Android,Unit Testing,我有类A和类B,我在类B构造函数中实例化了一些插装依赖项,所以我想避免在测试类A的foo方法时调用类B构造函数。类A的foo方法创建类B的一个实例。我正在使用mockito。有没有办法告诉测试用例,当调用TestClassA.foo()方法时,不要实例化类B,而是返回伪类B。我通过将类B实例化的责任委托给工厂类解决了这个问题。 然后,在测试时,使用mockito模拟工厂类并调用makeClassB()方法来获取ClassB的实例,也使用mockito.when(factoryMock.makeC

我有类A和类B,我在类B构造函数中实例化了一些插装依赖项,所以我想避免在测试类A的foo方法时调用类B构造函数。类A的foo方法创建类B的一个实例。我正在使用mockito。有没有办法告诉测试用例,当调用TestClassA.foo()方法时,不要实例化类B,而是返回伪类B。

我通过将类B实例化的责任委托给工厂类解决了这个问题。 然后,在测试时,使用mockito模拟工厂类并调用makeClassB()方法来获取ClassB的实例,也使用
mockito.when(factoryMock.makeClassB(anyParameters)).thenReturn(MockClassB)

现在在TestClassA中,我可以调用ClassA的foo()方法,它现在使用工厂类来创建ClassB的实例,而不是直接创建ClassB实例


查看此帖子。

感谢您发布解决方案!