为什么有专门的patch.dict?
我发现Python内部处理字典对象的方式和处理其他对象,比如函数和列表,是不一样的。
有没有人知道为什么Python的mock库(1.0.1)特别有一个patch.dict,除了已有的patch和patch.object?
1 个回答
15
patch.dict()
是一个用来在特定范围内设置字典值的工具,测试结束后会把字典恢复到原来的状态:
foo = {'key': 'value'}
original = foo.copy()
with patch.dict(foo, {'newkey': 'newvalue'}, clear=True):
assert foo == {'newkey': 'newvalue'}
assert foo == original
想了解更多信息,可以查看这个参考资料。