gpt4 book ai didi

python-2.7 - Python 模拟 Autospec 与 Spec

转载 作者:行者123 更新时间:2023-12-04 15:41:04 27 4
gpt4 key购买 nike

试图围绕 Spec 和 Autospec 之间的区别进行思考。他们似乎差不多。具体来说,如果您查看 mock.patch 装饰器。
有人可以解释什么时候使用哪个?
https://docs.python.org/3/library/unittest.mock.html

最佳答案

spec用作 Mock 对象的模板。用documentation的话来说:

If you use the spec or spec_set arguments then only magic methods that exist in the spec will be created.



这意味着您不能在模拟对象上调用不存在于您正在模拟的对象上的方法。 documentation像这样解释这个:

Note If you use the spec keyword argument to create a mock then attempting to set a magic method that isn’t in the spec will raise an AttributeError.


autospec基本上是 patch 的简写用于将对象传递给 specMagicMock正在创建。文档:

If you set autospec=True then the mock with be created with a spec from the object being replaced.

关于python-2.7 - Python 模拟 Autospec 与 Spec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39585309/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com