gpt4 book ai didi

python - 我怎样才能模拟一个属性来引发异常?

转载 作者:太空宇宙 更新时间:2023-11-04 02:50:46 25 4
gpt4 key购买 nike

我在 Python 2.7 中使用 MagicMock 来模拟对象。我模拟的其中一个类具有属性,其中一个在某些情况下会引发 TypeError

我想 mock 这种行为,但我不知道如何:

    如果访问 my_property
  • del my_mock.my_property 将导致 AttributeError,但我需要一个 TypeError
  • my_mock.my_property = MagicMock(side_effect=TypeError)my_property调用 时导致 TypeError,但是而不是仅在访问时。

我该怎么做?

最佳答案

为此,您可以使用 PropertyMock:

import mock

class A(object):

@property
def prop(self):
pass

a = A()
type(a).prop = mock.PropertyMock(side_effect=TypeError)

如果您现在访问 a.prop,它将引发一个 TypeError

关于python - 我怎样才能模拟一个属性来引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43948564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com