Python中的mock和magic mock有什么区别?

2 投票
1 回答
4059 浏览
提问于 2025-04-18 02:10

Python中的mock和magic mock有什么区别呢?我看到

>>> dir(Mock()) == dir(MagicMock())
True

那么我们什么时候应该使用mock对象,什么时候又应该使用MagicMock对象呢?

1 个回答

0

MagicMock是Mock的一个子类,它默认实现了很多特殊方法。你可以使用MagicMock,而不需要自己去配置这些特殊方法。

我想上面的代码是为了让你的模拟对象自动支持大部分特殊方法。

你可以看看这个指南,它可能对你有帮助:魔法方法

还有官方文档:https://docs.python.org/2/reference/datamodel.html#special-method-names

撰写回答