1. 程式人生 > 程式設計 >Pytest單元測試框架如何實現引數化

Pytest單元測試框架如何實現引數化

1、傳入單個引數

pytest.mark.parametrize(argnames,argvalues)

argnames:引數名  

argvalues:引數對應的值,型別必須為可迭代型別,一般為 list  

import pytest
class Test01():
  @pytest.mark.parametrize("school",["深圳多測師","廣州多測師","上海多測師"])
  def test_dcs(self,school):
    print(school)
if __name__ == '__main__':
  pytest.main(["-s","test_demo1.py"])
# 結果如下
test_demo1.py 
深圳多測師.
廣州多測師.
上海多測師.

2、傳入多個引數

pytest.mark.parametrize((arg1,arg2),[(argvalue1,argvalue2),(argvalue3,argvalue4)])

list 中每個元素都是個元組,元組裡的每個元素都與引數一一對應  

import pytest

class Test01():

  @pytest.mark.parametrize(("school","schoolmaster"),[("深圳多測師","Mr.Chen"),("上海多測師","Mr.Xie"),("廣州多測師","Mr.Fu")])
  def test_dcs(self,school,schoolmaster):
    print("{}校區的校長是{}".format(school,schoolmaster))
if __name__ == '__main__':
  pytest.main(["-s","test_demo1.py"])

# 結果如下
test_demo1.py 
深圳多測師校區的校長是Mr.Chen.
上海多測師校區的校長是Mr.Xie.
廣州多測師校區的校長是Mr.Fu.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。