欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Pytest单元测试框架如何实现参数化

程序员文章站 2022-03-21 12:28:55
1、传入单个参数pytest.mark.parametrize(argnames,argvalues)argnames:参数名  argvalues:参数对应的值,类型必须为可迭代类型,一般为 lis...

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.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。