使用裝飾器
@pytest.mark.parametrize(引數,值)
只傳乙個引數
@pytest.mark.parametrize('name',search_list)
def test_demo(name):
print(name)
assert name in search_list
傳多個引數
@pytest.mark.parametrize("test_input,expected",[("3+8",11),("2+5",7)])
def test_mark_more(test_input,expected):
assert eval(test_input) == expected
給執行不同引數的用例重新起名
ids
#命名第一次執行的引數用例叫number_1,同理命名number_2
@pytest.mark.parametrize("test_input,expected",[("3+8",11),("2+5",7)],
ids=["number_1","number_2"])
def test_mark_more(test_input,expected):
assert eval(test_input) == expected
把不同引數兩兩組合成集合傳入用例
通常用在排查問題
#笛卡爾積
#輸出9次結果,結果兩兩組合
@pytest.mark.parametrize("code",["utf-8","gbk","gb123"])
def test_dkej(wd,code):
print(f"wd:,code:")
引數化的名字要和方法中的引數名一一對應,順序不變
如果傳遞多個引數,則放在列表中,列表中巢狀列表或者元組
ids個數要等於傳遞的資料次數
Pytest(7) 引數化用例
當待測試的輸入輸出是一組資料時,可以將測試資料組織起來呼叫相同的測試方法。即 將不同的引數,寫入集合中,程式自動呼叫集合中的資料,直到集合為空。parametrize 使用方法 單次使用 同乙個測試用例只新增乙個 pytest.mark.parametrize pytest.mark.paramet...
pytest實現測試用例引數化
本文總www.cppcns.com結pytest的測試用例引數化。軟體測試中,輸入相應值,檢查期望值,是常見測試方法。在自動化測試中,乙個測試用例對應乙個測試點,通常一組測試資料無法完全覆蓋測試範圍,所以,需要引數化來傳遞多組資料。pytest的測試用例引數化使用如下裝飾器即可完成。pytest.m...
自動化用例設計
用例設計部分,無論是手工測試還是自動化測試,都必須要的環節,也是非常重要的環節。在做自動化的時候,用例需要考慮前置後置 步驟和對比,每乙個部分都要有提供非常明確的測試資料,要考慮資料的重複使用是否會影響指令碼的執行結果。1.不是所有的手工用例都要轉成自動化測試用例 2.考慮到指令碼開發的成本,不要選...