所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成。 DDT是 “Data-Driven Tests”的缩写。 资料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd.ddt: 装饰类,也就是继承自TestCase的类。 ddt.data: 装饰测试方法。参数是一系列的值。 ddt.file_data: 装饰测试方法。参数是文件名。文件...
import ddt,unittest,requests,time import BeautifulReport @ddt.ddt class My_case(unittest.TestCase): @ddt.file_data(r'xxx\login.yml') @ddt.unpack def test_run(self,**kwargs): url = kwargs.get('url') method = kwargs.get('method') header = kwargs.get('header') data =kwargs.get('...
@ddt.file_data('baidu.yaml')@ddt.unpack def test_run_baidu(self, **kwargs):method = kwargs.get('method')url = kwargs.get('url')check = kwargs.get('check')if method == "get":r = requests.get(url)# self.assertEqual(check.get('error_code'),r.json().get('error_code'))''...
DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或者使用unpack分解数据。 @data(a,b) 那么a和b各运行一次用例 @data([a,d],[c,d]) 如果没有@unpack,那么[...
@file_data(filename):对于json的文件,每一个json元素按照一个用例运行 1. ddt.ddt: 装饰测试类,也就是继承自TestCase的类。告诉ddt这个测试用例类要使用数据驱动。 2. ddt.data: 装饰测试方法。data中的数据类型包含单个值,元组,列表和字典。 data把测试数据作为一个参数传递给测试用例,一个数据对应生成一条...
ddt是 “Data-Driven Tests”的缩写。官方资料是:http://ddt.readthedocs.io/en/latest/。 下面是每个组件的简单介绍: ddt.ddt: 装饰类,用于unittest.TestCase子类的类装饰器。 ddt.data: 添加到unittest.TestCase测试用例上的方法装饰器。 ddt.file_data(value): ...
import ddt # 导入ddt import yaml @ddt.ddt # 声明我们要用它 class Test_ddt(unittest.TestCase): def setUp(self): print("Before every test case!") @ddt.file_data("..\\testdata\\testdata1.yml")#括号里写yml文件的相对路径 def test_002(self,name,age): ...
ddt.file_data(value): 添加到unittest.TestCase测试用例上的方法装饰器。 value应该是文件目录的路径。文件应该包含JSON编码的数据,可以是列表,也可以是dict。 如果文件中是列表,每个列表的值会作为测试用例参数,同时作为测试用例方法名后缀显示。 如果文件中是字典,字典的key会作为测试用例方法的后缀显示,字典的值会...
ddt即data driver test,数据驱动测试。作为测试用例参数化的一种方法。它提供了一个类的装饰器ddt,和两个方法的装饰器data和file_data。类的装饰器用在测试类前,方法的装饰器用在测试方法前,data可以有多个数据作为测试数据,file_data当前仅支持yaml或者json格式的文件。 一、安装环境 pip install ddt 我这边已经...
DDT实战可以根据参数的实际使用情况进行操作。data里面的参数可以是单组元组、多组元组、列表、字典、变量或者方法调用、读文件。 #ddt,使用@ddt,@data,@unpack,@file_data加载数据fromddtimportddt,data,unpack,file_dataimportunittestimportos defget_data():testdata=[{'name':'tom','age':21},{'name':'we...