0

我正在使用模拟在 Python 中进行测试。我正在尝试对覆盖该__new__方法然后在type.__new__(cls)内部调用的元类进行单元测试。

我不想真正打电话type.__new__,所以我想模拟出来type。当然,我不能修补__builtin__.type,因为它破坏了测试中的对象构造。

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

4

1 回答 1

1

是的。出于这些原因,您patch尽可能靠近您将要调用您的函数的位置。因此,在您的测试用例中,只有在您将调用的正在测试的函数(或任何可调用的)周围,您才能 patch type

patch如果您想仔细阅读,文档中有很多示例。

干杯。

于 2012-07-27T19:48:49.033 回答