Python Mock类型仅在模块内

时间:2012-07-27 19:43:51

标签: python mocking metaclass

我在Python中使用mock进行测试。我试图对一个覆盖__new__方法的元类进行单元测试,然后在内部调用type.__new__(cls)

我不想实际调用type.__new__,所以我想模仿type。当然,我无法修补__builtin__.type,因为它会破坏测试中的对象构造。

所以,我真的想限制被测模块中的模拟type。这可能吗?

1 个答案:

答案 0 :(得分:1)

是。由于这些原因,您patch尽可能靠近您要调用的功能。因此,在您的测试用例中,只有在您测试的函数(或任何可调用的函数)周围,您可以修补type

patch的文档有很多例子,如果你想仔细阅读它们。

干杯。