Pytest框架引數化

2021-09-25 08:56:04 字數 2236 閱讀 7740

本文主要介紹第二種引數化方式

@pytest.mark.parametrize(「引數名稱」,lists or tuple or set) ,傳入單個引數。

引數名稱僅作為引數名稱,便於記憶,可隨意起。

引數不管是lists或是tuple型別都可以執行成功,另外集合型別set(),順便試了一下也是成功的不過沒有特殊研究過。

import pytest

is_day = [1,2,3,4,5,6,]

is_years = (11,34,76,23,54,)

is_age =

@pytest.mark.parametrize('day,',is_day)

def test_01(day):

print(day)

return day

**執行結果:

@pytest.mark.parametrize(「引數名稱1,引數名稱2,…」,[(2+1),(),…]) ,傳入單個引數。

傳入多個引數時,引數型別為list巢狀tuple[(),(),(),...]形式。注意:引數名稱的個數要與元組中的引數個數相對應。

import pytest

@pytest.mark.parametrize('a,b',[('1+2',3),('3+4',7),('2+2',4)])

def test_02(a,b):

assert eval(a)==b

**執行結果:

**執行結果:

我的處理方式:

def list():

return [1,2,3,4,5,6,7]

def list1():

return [4,5,67,89,98,33,45]

def switch(list1,list2):

lists =

for day ,year in zip(list1,list2):

print(lists)

return lists

switch(list(),list1())

**執行結果:

完整**:

import pytest

def list():

return [1,2,3,4,5,6,7]

def list1():

return [4,5,67,89,98,33,45]

def switch(list1,list2):

lists =

for day ,year in zip(list1,list2):

print(lists)

return lists

switch(list(),list1())

@pytest.mark.parametrize('list1,list2',switch(list(),list1()))

def test_02(list1,list2):

print(list1,list2)

assert list1,list2 is not none

**執行結果:

pytest框架中斷言與引數化方法

今天記錄一下pytest框架中斷言方法與引數化方法吧,在寫這篇部落格前博主進行了非常激烈的思想斗真,在想著到底要不要寫這篇博文呢,不想寫的原因主要是因為假期的午後睏意席捲而來,還有就是這方面的內容真的很簡單,哈哈哈哈。但本著好記性不如爛筆頭的精神博主還是克服了睏意跟懶惰哈哈哈哈。assert h i...

pytest 之 fixture引數化

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

pytest 引數化昇華版

裝飾類,則類中所有的測試用例都是用這組引數 裝飾測試函式,只有被裝飾的函式使用這組引數 import pytest test datas 11,22,33 22,33,55 datas dict 方式一 直接寫 pytest.mark.parametrize a,b,c 1,2,3 4,5,9 de...