脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Pytest单元测试框架如何实现参数化

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

2020-09-06 00:03多测师_郑sir Python

这篇文章主要介绍了Pytest单元测试框架如何实现参数化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、传入单个参数

pytest.mark.parametrize(argnames,argvalues)

argnames:参数名  

argvalues:参数对应的值,类型必须为可迭代类型,一般为 list  

?
1
2
3
4
5
6
7
8
9
10
11
12
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 中每个元素都是个元组,元组里的每个元素都与参数一一对应  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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.

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

原文链接:https://www.cnblogs.com/ZhengYing0813/p/13225380.html

延伸 · 阅读

精彩推荐