pytest六 parametrize 引數化

2022-07-02 22:33:11 字數 1549 閱讀 5748

pytest.mark.parametrize 裝飾器可以實現測試用例引數化。

1.這裡是乙個實現檢查一定的輸入和期望輸出測試功能的典型例子

2.它也可以標記單個測試例項在引數化,例如使用內建的mark.xfail

標記為失敗的用例就不執行了,直接跳過顯示 xfailed
import pytest

@pytest.mark.parametrize('test_input,expected',

[('3+5', 8),

('2+4', 6),

pytest.param('6*9', 42, marks=pytest.mark.xfail)]

)def test_eval(test_input, expected):

print('\n**********開始執行用例**********')

assert eval(test_input) == expected

if __name__=='__main__':

pytest.main()

引數組合

1.若要獲得多個引數化引數的所有組合,可以堆疊引數化裝飾器

這將執行測試,引數設定為 x=0/y=2,x=1/y=2,x=0/y=3,x=1/y=3 組合引數。
import pytest

@pytest.mark.parametrize('x', [0, 1])

@pytest.mark.parametrize('y', [2, 3])

def test_foo(x, y):

print(f'\n測試資料組合:x->, y->')

if __name__=='__main__':

pytest.main()

pytest文件9 引數化parametrize

pytest.mark.parametrize裝飾器可以實現測試用例引數化。1.這裡是乙個實現檢查一定的輸入和期望輸出測試功能的典型例子 content of test expectation.py coding utf 8 import pytest pytest.mark.parametrize...

pytest文件9 引數化parametrize

pytest.mark.parametrize裝飾器可以實現測試用例引數化。1.這裡是乙個實現檢查一定的輸入和期望輸出測試功能的典型例子 content of test expectation.py coding utf 8 import pytest pytest.mark.parametrize...

pytest文件9 引數化parametrize

pytest.mark.parametrize裝飾器可以實現測試用例引數化。1.這裡是乙個實現檢查一定的輸入和期望輸出測試功能的典型例子 content of test expectation.py coding utf 8 import pytest pytest.mark.parametrize...