假设,我有一个代码片段
foo = SomeClass()
bar = foo[1:999].execute()
为了测试这一点,我尝试了一些foo_mock = Mock()
foo_mock[1:999].execute()
不幸的是,这引发了一个异常(exception),TypeError: 'Mock' object is not subscriptable
那么,我如何创建一个可下标的
Mock
目的?
最佳答案
只需使用 MagicMock
反而。
>>> from unittest.mock import Mock, MagicMock
>>> Mock()[1:999]
TypeError: 'Mock' object is not subscriptable
>>> MagicMock()[1:999]
<MagicMock name='mock.__getitem__()' id='140737078563504'>
之所以称为“魔法”,是因为它支持__magic__
方法如 __getitem__
.
关于python - 如何创建可下标的 Mock 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64176468/