pytest使用@pytest.mark.parametrize()實現(xiàn)參數(shù)化的示例代碼
1.方法詳情:
parametrize(argnames,argvalues,indirect=False,ids=None,scope=None)
常用參數(shù):
argnames:參數(shù)名
argvalues:參數(shù)值(可以為list和tuple,或者字典列表,字典元組等),參數(shù)值有N個,用例就會執(zhí)行N次。
2.使用方法
2.1.一個列表中一個參數(shù)多個值
示例代碼:
data_list1 = ['data1', 'data2', 'data3', 'data4'] @pytest.mark.parametrize('data', data_list1) def test_01(data): print(data)
運行結(jié)果:
2.2.多參數(shù)多值
示例代碼:
data_list2 = [('zhang1', '123456'), ('zhang2', '654321'), ('zhang3', '456789')] @pytest.mark.parametrize('username, pwd', data_list2) def test_02(username, pwd): print(username + ':' + pwd)
運行結(jié)果:
2.3.多個參數(shù)混合使用
示例代碼:
data_list3 = ['zhang', 'li'] data_list4 = ['wang', 'liu'] data_list5 = ['zhao', 'qian'] @pytest.mark.parametrize('a', data_list3) @pytest.mark.parametrize('b', data_list4) @pytest.mark.parametrize('c', data_list5) def test_03(a, b, c): print('組合后的結(jié)果為', {a}, , {c})
2.4.傳入字典數(shù)據(jù)
示例代碼:
dict_data = ({'username': 'zhang', 'password': '123456'}, {'username': 'li', 'password': '654321'}) @pytest.mark.parametrize('data', dict_data) def test_04(data): print(data.get('username') + ':' + data.get('password')) # print(data['username'] + ':' + data['password'])
運行結(jié)果:
到此這篇關(guān)于pytest使用@pytest.mark.parametrize()實現(xiàn)參數(shù)化的文章就介紹到這了,更多相關(guān)pytest參數(shù)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python整數(shù)與Numpy數(shù)據(jù)溢出問題解決
這篇文章主要介紹了Python 的整數(shù)與 Numpy 的數(shù)據(jù)溢出,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09python實現(xiàn)aes加密及pycryptodome庫使用
AES算法是高級加密標準,它是一種對稱加密算法,AES只有一個密鑰,這個密鑰既用來加密,也用于解密,這篇文章主要給大家介紹了關(guān)于python實現(xiàn)aes加密及pycryptodome庫使用的相關(guān)資料,需要的朋友可以參考下2023-10-10Python基于字典實現(xiàn)switch case函數(shù)調(diào)用
這篇文章主要介紹了Python基于字典實現(xiàn)switch case函數(shù)調(diào)用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07Python數(shù)據(jù)處理篇之Sympy系列(五)---解方程
這篇文章主要介紹了Python數(shù)據(jù)處理篇之Sympy系列(五)---解方程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10