在做MonkeyPatch和StubOutwithMock时有什么区别?

时间:2014-12-19 07:13:37

标签: python unit-testing monkeypatching mox pymox

我在进行单元测试时遇到过这个问题,我很想知道下面两个有什么区别?

self.monkeyPatch(module, 'myFunc', lambda n: someObject)

mox.StubOutWithMock(module, 'myFunc')
module.myFunc(n).AndReturn(someObject)

其中myFunc是模块中的公共函数,n是传递给myFunc的参数,它返回someObject。

1 个答案:

答案 0 :(得分:0)

猴子修补的不同库/实现。

Monkeypatching可以在没有任何库的情况下完成,但它需要做一些重复(以及那种丑陋)的事情,所以如果你自己开始实现它,你最终会创建帮助来帮助解决这个问题。当然,有几个现成的库可以帮到你。