在JMockit中,可以使用Delegates
类来实现从模拟方法中调用原始方法。Delegates
类允许将模拟方法的部分行为委托给原始方法。
以下是一个示例:
import mockit.Delegate;
import mockit.Mock;
import mockit.MockUp;
public class MyClassTest {
@Test
public void testMyMethod() {
new MockUp<MyClass>() {
@Mock
public int myMethod(int value) {
return Delegate.callOriginal();
}
};
MyClass myClass = new MyClass();
int result = myClass.myMethod(10);
assertEquals(20, result);
}
}
在这个示例中,我们使用MockUp
类来模拟MyClass
类的myMethod
方法。在模拟方法中,我们使用Delegate.callOriginal()
来调用原始方法。这样,我们可以在模拟方法中保留原始方法的部分行为。
在这个示例中,myMethod
方法将参数值乘以2,并返回结果。因此,当我们调用myClass.myMethod(10)
时,我们期望得到的结果是20。
总之,在JMockit中,可以使用Delegates
类来实现从模拟方法中调用原始方法。这种方法允许在保留原始方法行为的同时,对其进行模拟和扩展。
领取专属 10元无门槛券
手把手带您无忧上云