pytest 引數化昇華版

2022-06-13 19:54:09 字數 687 閱讀 9099

裝飾類,則類中所有的測試用例都是用這組引數

裝飾測試函式,只有被裝飾的函式使用這組引數

import

pytest

test_datas =[

(11, 22, 33),

(22, 33, 55)]

datas_dict =[

, ,

,]# 方式一:直接寫

@pytest.mark.parametrize("a, b, c", [(1, 2, 3), (4, 5, 9)])

def test_add01(a, b, c):

res = a +b

assert res ==c

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

@pytest.mark.parametrize("data", test_datas)

def test_add02(data):

res = data[0] + data[1]

assert res == data[2]

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

@pytest.mark.parametrize("data", datas_dict)

def test_add03(data):

res = data["a"] + data["b"]

assert res == data["c"]

Pytest框架引數化

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

pytest 之 fixture引數化

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

pytest之引數化parametrize的使用

在測試用例的前面加上 pytest.mark.parametrize 引數名 列表資料 引數名 用來接收每一項資料,並作為測試用例的引數。列表資料 一組測試資料。示例 import pytest test datas 11,22,33 22,33,55 datas dict 方式一 直接寫 pyte...