Я пытаюсь динамически смоделировать / исправить несколько методов @property класса в python, т.е.
class Dog():
...
@property
def size(self):
.....
@property
def breed(self):
.....
cases = [{"size":9, "breed":"doberman"}, {"size":2, "breed":"pug"}]
@pytest.mark.parametrize("case", list(cases.values()), ids=list(cases.keys()))
def test_properties(case):
dog = Dog()
mocks = ()
for m, v in case.items():
mocks += (mock.patch.object(dog, m, return_value=v),)
with mocks:
...
Однако я получаю следующую ошибку:
with mocks:
E AttributeError: enter
Очевидно, что это не подходящий метод для насмешки нескольких свойств в соответствии с конфигурацией, как показано выше?Может кто-нибудь, пожалуйста, посоветуйте мне, как лучше всего достичь этого, спасибо!