Pytest 引數化用例

2022-10-10 22:09:19 字數 1083 閱讀 1031

使用裝飾器

@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.考慮到指令碼開發的成本,不要選...