zne*_*eak 6 python unit-testing mocking python-2.7 magicmock
我在 Python 2.7 中使用 MagicMock 来模拟对象。我嘲笑的类之一具有属性,其中之一TypeError在某些情况下可以引发 a 。
我想嘲笑这种行为,但我不知道如何:
del my_mock.my_property将导致访问AttributeErrorif my_property,但我需要一个TypeError.my_mock.my_property = MagicMock(side_effect=TypeError)导致一个TypeErrorwhenmy_property被调用,但不是当它仅仅被访问时。我该怎么做?
您可以PropertyMock为此目的使用:
import mock
class A(object):
@property
def prop(self):
pass
a = A()
type(a).prop = mock.PropertyMock(side_effect=TypeError)
Run Code Online (Sandbox Code Playgroud)
如果您现在访问a.prop它会引发一个TypeError.
| 归档时间: |
|
| 查看次数: |
2455 次 |
| 最近记录: |