1. 程式人生 > 資訊 >你的私密照片可能正被“合法”觀看,人臉識別時一定要穿衣服

你的私密照片可能正被“合法”觀看,人臉識別時一定要穿衣服

之前一直用的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"])