天天看點

python參數初始化_python-使用參數初始化pytest固定裝置

我有一個夾具,可以建立在許多測試中使用的對象.

該對象具有屬性-優先級(1-10)

現在,有很多測試需要“知道”對象的優先級(以便測試各種邏輯路徑)

是以我可以有10種不同的燈具:

@pytest.fixture

def object_priority_1():

return MyObj(priority=1)

@pytest.fixture

def object_priority_2():

return MyObj(priority=2)

//....

@pytest.fixture

def object_priority_10():

return MyObj(priority=10)

但這似乎不對……我敢肯定每次都有一種方法可以将外部參數傳遞給燈具-我隻是找不到

編輯:

需要澄清的是-我想要以下方面的東西:

@pytest.fixture

def my_object():

return MyObj(priority)

然後測試将是這樣的:

def test_foo(my_object(1), my_object(6)):

//...

解決方法:

你可以做 :

@pytest.fixture

def my_object(priority):

return MyObj(priority)

def test_foo(my_object):

obj_1 = my_object(1)

assert something # 1

obj_2 = my_object(2)

assert something # 2

我想到了這個主意,然後找到了這個問與答:

我認為如果您的問題解決了,您的問題可能會考慮重複.

标簽:pytest,python

來源: https://codeday.me/bug/20191119/2038995.html