你的私密照片可能正被“合法”觀看,人臉識別時一定要穿衣服
阿新 • • 發佈:2021-07-03
之前一直用的unittest,最近看pytest也挺火的,就試著玩玩
今天來說下pytest引數化的使用方法
舉個 a+b很簡單的例子來說我們在測試過程中,同一個用例,可能有多組入參,如果每個入參寫一個用例就會顯得有些繁瑣
1、如何簡化上邊的用例,可以利用引數化的方法
@pytest.mark.parametrize
2、一定要注意:@pytest.mark.parametrize必須寫在用例的上方
3、引數格式說明
parametrize後邊緊跟元組格式引數,元組裡邊的引數可以是任意形式,比如上圖入參是在一個列表中放N個列表,其實列表中放元組也是可以的
如下所有引數放在一個元組中,也是可以執行成功的
指令碼如下:
import pytest
def add(a, b):
print(a, a+b)
return a+b
# test_add(2, 3, 6)
# test_add(2, 3, 5)
# test_add(1, 4, 55)
# @pytest.mark.parametrize('a, b, exp', [
# [2, 3, 6],
# [2, 3, 5],
# [1, 4, 55]
#
# ])
@pytest.mark.parametrize('a, b, exp', (
(2, 3, 6),
(2, 3, 5),
(1, 4, 55))
)
def test_add(a, b, exp):
assert add(a, b) == exp
if __name__ == '__main__':
pytest.main(["-s", "-v", "test_add.py"])