在这篇(很棒)快速引用Mockery的最后几段中,作者解释了一些非默认的模拟行为修饰符,但可能很有用。其中包括makePartial()
来电和shouldDeferMissing()
来电。
这些与默认行为有何不同?当你创建一个模拟(Mockery::mock('myClass')
),并且没有添加任何方法期望时,所有方法调用都会转到父级(即MyClass),据我所知......
这是Mockery快速参考的最后一部分。
\嘲笑::模拟(' MyClass的') - > makePartial()
也
\嘲笑::模拟(' MyClass的') - > shouldDeferMissing()
被称为被动局部模拟(不要与真正的局部模糊混淆) 稍后讨论的模拟对象),这种形式的模拟对象将推迟所有 方法不受模拟的父类的期望, 即MyClass。而之前的shouldIgnoreMissing()返回了 null,此行为只调用父匹配方法。
答案 0 :(得分:4)
后两者之间的区别在于,对于被动局部模拟,您不需要在设置期望之前指定要模拟的方法。设置期望时,它将为您创建模拟方法。