我在Python中使用mock进行测试。我试图对一个覆盖__new__
方法的元类进行单元测试,然后在内部调用type.__new__(cls)
。
我不想实际调用type.__new__
,所以我想模仿type
。当然,我无法修补__builtin__.type
,因为它会破坏测试中的对象构造。
所以,我真的想限制被测模块中的模拟type
。这可能吗?
答案 0 :(得分:1)
是。由于这些原因,您patch
尽可能靠近您要调用的功能。因此,在您的测试用例中,只有在您测试的函数(或任何可调用的函数)周围,您可以修补type
。
patch
的文档有很多例子,如果你想仔细阅读它们。
干杯。