我有一些只返回一个类的对象的装置。这些对象包含我试图在 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
我可以就这个问题获得一些建议,因为我在任何地方都找不到关于如何在参数化中正确调用对象属性的说明?
非常感激!