我正在使用模拟在 Python 中进行测试。我正在尝试对覆盖该__new__
方法然后在type.__new__(cls)
内部调用的元类进行单元测试。
我不想真正打电话type.__new__
,所以我想模拟出来type
。当然,我不能修补__builtin__.type
,因为它破坏了测试中的对象构造。
所以,我真的想限制type
被测模块内的模拟。这可能吗?
是的。出于这些原因,您patch
尽可能靠近您将要调用您的函数的位置。因此,在您的测试用例中,只有在您将调用的正在测试的函数(或任何可调用的)周围,您才能 patch type
。
patch
如果您想仔细阅读,文档中有很多示例。
干杯。