首页 > 其他 > 详细

DDT实现数据驱动

时间:2020-03-19 22:45:21      阅读:72      评论:0      收藏:0      [点我收藏+]

1.DDT是什么?

  DDT:Data driver test,实现用例数据的分离

     主要结合关键字驱动来实现数据分析

2.DDT实现数据驱动

  DDT数据安装:pip install ddt

  常用模块:ddt(声明ddt调用),data(数据传参),unpack(数据解包),file_data(读取json、yaml文件)

  ddt传参规则:

1. 需要几个参数,则传递几个内容
2. 参数解析与形参是一一对应关系

  代码示例:

from ddt import ddt,data,unpack
import unittest

@ddt
class Demo_test(unittest.TestCase):
def setUp(self) -> None:
‘‘‘前置条件‘‘‘
pass
def tearDown(self) -> None:
‘‘‘后置条件‘‘‘
pass
@data([‘大王‘,‘二王‘,‘三王‘])
@unpack
def test_1(self,name,name1,name2):
print(name)
print(name1)
print(name2)

if __name__ == ‘__main__‘:
unittest.main()
运行结果:

Ran 1 test in 0.003s

OK
大王
二王
三王

进程已结束,退出代码 0



方法2:通过读取file文件来实现数据驱动传参
file.txt文件内容如下:
大王,二王
三王,
-------------------------这是分割线--------------------------------------
from ddt import ddt,data,unpack
import unittest

def read_file():
list = []
file = open(‘para.txt‘,‘r‘,encoding=‘utf-8‘)
for line in file.readlines():
list.append(line.strip(‘\n‘).split(‘,‘))
return list
@ddt
class Test_demo(unittest.TestCase):

def setUp(self) -> None:
pass
def tearDown(self) -> None:
pass
@data(read_file())
def test_6(self,name):
print(name)

if __name__ == ‘__main__‘:
unittest.main()
运行结果:

[[‘大王‘, ‘二王‘], [‘三王‘, ‘‘]]


Ran 1 test in 0.003s

OK

进程已结束,退出代码 0



 

3.DDT+Yaml实现数据驱动

  yaml安装:pip install pyyaml

  以下为yaml文件内容(以列表list形式):

  - 大王

  - 二王

  - 三王

  yaml文件内容(以字典形式):

  -

    name : 大王

    age : 18

  - 

    name : 二王

    age : 50

  -

    name : 三王

    age : 28

-----------------------------------------这是分割线------------------------------------------------------------

from ddt import ddt,data,unpack,file_data
import unittest

@ddt
class Demo_test(unittest.TestCase):
def setUp(self) -> None:
‘‘‘前置条件‘‘‘
pass
def tearDown(self) -> None:
‘‘‘后置条件‘‘‘
pass
@file_data(‘para.yaml‘)
def test_4(self,**info):#**表示以字典的形式处理
name = info.get(‘name‘)
print(name)
age = info.get(‘age‘)
print(age)
if __name__ == ‘__main__‘:
unittest.main()

 运行结果:

Ran 3 tests in 0.004s

OK
虚竹
30
666
18
chen
88

进程已结束,退出代码 0

 

DDT实现数据驱动

原文:https://www.cnblogs.com/Murraya/p/12527590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!