Pytest - 引數化
阿新 • • 發佈:2022-02-24
一、程式碼示例
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}")