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.

 

posted @ 2020-07-02 16:10  一个老宅男  阅读(464)  评论(0编辑  收藏  举报