我有一個夾具,可以建立在許多測試中使用的對象.
該對象具有屬性-優先級(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