JPG*_*JPG 7 python unit-testing mocking python-mock python-unittest
假设,我有一个代码片段
foo = SomeClass()
bar = foo[1:999].execute()Run Code Online (Sandbox Code Playgroud)
为了测试这一点,我尝试了一些
foo_mock = Mock()
foo_mock[1:999].execute()Run Code Online (Sandbox Code Playgroud)
不幸的是,这引发了一个例外,
类型错误:“模拟”对象不可下标
那么,如何创建可下标的 Mock对象?
wim*_*wim 15
只需使用 aMagicMock代替。
>>> from unittest.mock import Mock, MagicMock
>>> Mock()[1:999]
TypeError: 'Mock' object is not subscriptable
>>> MagicMock()[1:999]
<MagicMock name='mock.__getitem__()' id='140737078563504'>
Run Code Online (Sandbox Code Playgroud)
它之所以被称为“魔术”,是因为它支持__magic__诸如__getitem__.
| 归档时间: |
|
| 查看次数: |
3331 次 |
| 最近记录: |