1. 程式人生 > 其它 >Pytest - 引數化

Pytest - 引數化

一、程式碼示例

import pytest
'''裝飾測試類:
適用場景:登入框的多種情況組合測試。比如賬號空、密碼空、賬號密碼都為空,可以用引數化方式處理'''
@pytest.mark.parametrize("test_input,expected", [("3+5", 8), ("2+4", 6), ("6*9", 42)])
def test_eval(test_input, expected):
    print(f"測試資料{test_input},期望結果{expected}")
    assert eval(test_input) == expected

'''“笛卡爾積”,多個引數化裝飾器:
當裝飾器 @pytest.mark.parametrize 裝飾測試類時,會將資料集合傳遞給類的所有測試用例方法,“笛卡爾積”,多個引數化裝飾器
''' #笛卡爾積,組合資料 data_1 = [1,2,3] data_2=['a','b'] @pytest.mark.parametrize('test1',data_1) @pytest.mark.parametrize('test2',data_2) def test_parametrize_1(test1,test2): print(f'笛卡爾積 測試資料為:{test1},{test2}') '''引數化 ,傳入字典資料''' dic_1=( { "user":"admin", "pwd":123456 }, {
"user": "test", "pwd": 123 } ) @pytest.mark.parametrize("dic",dic_1) def test_parametrize_2(dic): print(f"測試資料為\n{dic}")

二、執行結果圖