Python 存根框架的属性



有谁知道一个模拟或存根框架,它允许像这个装饰器那样存根属性甚至类属性

class classproperty:
    """
    Decorator to  read-only static properties
    """
    def __init__(self, getter):
        self.getter = getter
    def __get__(self, instance, owner):
        return self.getter(owner)
class Foo:
    _name = "Name"
    @classproperty
    def foo(cls):
        return cls._name

我目前正在使用 mockito,但这不允许对属性进行存根。

使用 unittest.mock.PropertyMock(从 Python 3.3 开始可用(:

from unittest import mock
with mock.patch.object(Foo, 'foo', new_callable=mock.PropertyMock) as m:
    m.return_value = 'nAME'
    assert Foo.foo == 'nAME'

注意:如果您使用的 Python 版本低于 3.3,请使用 mock

相关内容

  • 没有找到相关文章

最新更新