Pytest---引數化
阿新 • • 發佈:2021-12-01
軟體測試中,輸入相應值,檢查期望值,是常見測試方法。
在自動化測試中,一個測試用例對應一個測試點,通常一組測試資料無法完全覆蓋測試範圍,所以,需要引數化來傳遞多組資料。
pytest的測試用例引數化使用如下裝飾器即可完成
使用pytest.mark.parametrize
import pytest @pytest.mark.parametrize('a,b,c',[ (1, 2, 3), (3, 4, 6), ]) def test_answer(a, b,c):assert a +b == c
使用ids自定義測試用例標題
import pytest @pytest.mark.parametrize('a,b,c',[ (1, 2, 3), (3, 4, 6), ],ids=['1+2','3+4']) def test_answer(a, b, c): assert a +b == c
多次使用Parametrize:
同一個測試用例還可以使用多個@pytest.mark,parametrize,多個parametrize的所有元素相互組合(類似於笛卡爾積),下例,使用了2個裝飾器分別提供兩個引數的列表,3*3=9種結合, 則產生9條測試用例
import pytest @pytest.mark.parametrize('a',[1,2,3]) @pytest.mark.parametrize('b',[1,2,3]) def test_1(a,b): print(f'測試資料為a:{a},b:{b}')