我试图弄清楚如何模拟一个 numpy 结构化数组并且运气不佳。理想情况下,我想做这样的事情:
from mock import MagicMock
mock_obj = MagicMock()
mock_obj['some']['test']['structure'] = 3
assert 3 == mock_obj['some']['test']['structure']
我了解如何使用 来模拟单个字典,side_effect
但还没有弄清楚如何为任意、嵌套__getitem__
或__setitem__
函数执行此操作。
编辑:
这是一些上下文:
def function(self):
arr = self.my_structured_array['get']['some']['array']
#Make decisions based on return value of arr
这样我就可以self.my_structured_array
用一些垃圾值来模拟对象来测试其他逻辑。关键是字典对象实际上与 h5py 库相关联,因此我想模拟它。