我刚开始使用JMockit,对于使用MockUp来“伪造”对象和使用Expectations来模拟对象的优劣感到困惑。
从文档中了解到,对于一个类,MockUp允许我用自己的实现覆盖其方法。然而,我发现在Expectations块中也可以做类似的事情。
那么MockUp相对于Expectations有什么优势呢?根据JMockit文档所述,
伪造(Fakes)与模拟API的不同之处在于,我们不是在测试中指定依赖项将接收哪些调用,而是修改依赖项的实现,以满足测试的需求。
这只是措辞上的区别吗?从功能上来讲,使用Expectations()块而不是使用MockUp<>不能达到同样的效果吗?