pytest之引數化parametrize的使用

2022-07-26 08:57:12 字數 851 閱讀 3545

在測試用例的前面加上:

@pytest.mark.parametrize("引數名",列表資料)

引數名:用來接收每一項資料,並作為測試用例的引數。

列表資料:一組測試資料。

示例**:

import

pytest

test_datas =[

(11, 22, 33),

(22, 33, 55)

]datas_dict =[,,

,]#方式一:直接寫

@pytest.mark.parametrize("

a, b, c

", [(1, 2, 3), (4, 5, 9)])

deftest_add01(a, b, c):

res = a +b

assert res ==c

#方式二:引數為列表中巢狀元組

@pytest.mark.parametrize("

data

", test_datas)

deftest_add02(data):

res = data[0] + data[1]

assert res == data[2]

#方式三:引數為列表中巢狀字典

@pytest.mark.parametrize("

data

", datas_dict)

deftest_add03(data):

res = data["

a"] + data["b"

]

assert res == data["

c"]

pytest 之 fixture引數化

pytest 之 fixture引數化 前面通過unittest框架介紹了ui自動化po模式,basepage封裝後,unittest框架搭建的ui自動化框架,基本就成型了。前面的幾篇pytest文章,也簡要介紹了pytest和unittest框架的相同與不同之處。將unittest框架替換為pyt...

Pytest框架引數化

本文主要介紹第二種引數化方式 pytest.mark.parametrize 引數名稱 lists or tuple or set 傳入單個引數。引數名稱僅作為引數名稱,便於記憶,可隨意起。引數不管是lists或是tuple型別都可以執行成功,另外集合型別set 順便試了一下也是成功的不過沒有特殊研...

param陣列引數

param陣列允許我們只寫乙個方法,就能接受數量可變的引數.這種技術就是引數陣列,它本質上是用params關鍵字來宣告的乙個引數 而且不僅可以宣告params int list這樣的陣列,還可以宣告object型別的引數組,引數可以是任意型別的 util類 region using directiv...