出于测试目的,我想替换实现某些接口(interface)的对象的一些方法的实现。执行此操作的一种方法是创建一个新对象,将实例作为参数传递给构造函数,然后手动重新创建所有方法以将实例的方法用于除几个方法之外的所有方法,这些方法将被覆盖以用于测试目的。不幸的是,该接口(interface)有大量方法,这使得这个选项变得乏味。
是否有某种方法可以创建一个“对象实例的子类”对象,因为它只是简单地调用实例的方法来执行除重写之外的所有调用?
最佳答案
使用一些模拟框架创建模拟,例如 Mockito :
MyComplexInterface mock = Mockito.mock(MyComplexInterface.class);
Mockito.when(mock.someMethod()).thenReturn("some value");
Mockito 能够模拟接口(interface)和具体类。
关于java - 从实例创建子类来重写一些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5466449/