У меня есть некоторые приспособления, которые просто возвращают объекты класса. Объекты содержат свойство этого класса, которое я пытаюсь проверить в pytest, поэтому код выглядит примерно так:
from main import My_class
import pytest
@pytest.fixture()
def fixt1():
object1 = My_class("atr1", "atr2")
return object1
@pytest.fixture()
def fixt2():
object2 = My_class("atr3", "atr4")
return object2
@pytest.mark.parametrize('inputs, results',
[
(fixt1, 10.0),
(fixt2, 22.5)
]
)
def test_fixts(inputs, results):
assert inputs.price == results
Этот код всегда будет возвращать ошибку атрибута:
AttributeError: 'function' object has no attribute 'price'
Однако попытка проверить эти атрибуты с помощью простых тестов, подобных этому, сработает:
def test_simple(fixt1):
assert fixt1.price == 10.0
Могу ли я получить совет по этому вопросу, так как я нигде не мог найти инструкции о том, как правильно вызывать атрибуты объектов в параметризации?
Очень признателен!
test_simple
. - person MrBean Bremen   schedule 17.09.2020object1 = My_class("atr1", "atr2")
, но не в том случае, если он возвращается функцией - person Massina_CF   schedule 18.09.2020