Python下的数据驱动模式DDT库

1、DDT介绍
  DDT(Data-Driven Tests)数据驱动测试,测试数据与测试行为分离,通过数据来驱动测试
  DDt数据驱动测试,允许通过使用不同的测试数据运行一个测试用例,根据参数的个数可以运行多个不同的测试用例    
2、为什么使用DDT
  1、提高代码复用率减少代码冗余
  2、可以将测试数据使用一个文件来存储
  3、数据和测试业务分离
4、DDT库的安装
  1、直接在PyCharm->File->Setting->Project->Project Interpreter页面添加
  2、使用命令pip install ddt下载并安装
5、API
  @ddt 类装饰器,作用于类上,应用于测试用例类
  @data 作用于方法上,把参数作为测试数据
  @unpack 方法装饰器添加解压功能
6、具体应用示例
import unittest
from ddt import ddt, data, unpack
'''
    1、导入ddt相关包:from ddt import ddt, data, unpack
    2、类上添加unittest.TestCase作用于测试用例上,和unittest一起使用
'''


@ddt
class Testddt(unittest.TestCase):
    def setUp(self):
        pass

    '''结果运行三次'''
    @data(12, 13, 14)
    def test_1(self, value):
        print(value)

    '''结果运行一次,出(12,13,14)'''
    @data((12, 13, 14))
    def test_2(self, value):
        print(value)

    '''结果运行一次,输出12,13,14
       参数个数看的是元祖里面的个数
    '''
    @data((12, 13, 14))
    @unpack
    def test_3(self, value1, value2, value3):
        print(value1, value2, value3)

    '''结果运行3次,分别输出(3, 2)  (4, 3) (5, 3)'''
    @data((3, 2), (4, 3), (5, 3))
    def test_4(self, value):
        print(value)

    @data((3, 2), (4, 3), (5, 3))
    @unpack
    def test_5(self, value1, value2):
        print(value1,value2)

    @data([3, 2], [4, 3], [5, 3])
    def test_6(self, value1):
        print(value1)

    @data([3, 2], [4, 3], [5, 3])
    @unpack
    def test_7(self, value1, value2):
        print(value1,value2)

    @data({'first': 1, 'second': 3, 'third': 2},{'first': 4, 'second': 6, 'third': 5})
    def test_8(self, value1):
        print(value1)

    '''
    字典拆包,参数需要和key名称一致,分别对应key值输出1 3 2
    '''
    @data({'first': 1, 'second': 3, 'third': 2})
    @unpack
    def test_9(self, first, second, third):
        print(first,second,third)
   
7、总结
  1、ddt针对的测试数据类型有元组、字典、列表、单个值,根据情况可使用@unpack进行拆包,可解析成多个参数提供使用。
  2、示例中的结果,需要反复运行得到结果并分析

  参考ddt库API网址:https://ddt.readthedocs.io/en/latest/api.html
上一篇:js方法


下一篇:无法对属性索引器赋值它是只读的(转载)