数据驱动测试ddt

1、数据驱动思想的原理

安装ddt模块:pip install ddt

数据驱动思想:以用例数据来生成测试用例(数据驱动用例生成),有多少条用例数据,生成多少条测试用例。

2、用ddt编写测试用例类

from day16_homework.ddt import ddt,data

import unittest
from readexcel import ReadExcel
from register import register

# @ddt 做的事情等同于这句代码==> RegisterTestCase = ddt(RegisterTestCase)
@ddt
class RegisterTestCase(unittest.TestCase):
    #在类中创建一个对象来读取数据,就变成了类属性
    excel=ReadExcel('case.xlsx','register')
    cases=excel.read_data()

   # @data中的传入所有数据(列表嵌套字典),将数据拆包传入,有多少个数据就创建多少条测试用例
    @data(*cases)
    def test_register(self,case):     #测试用例函数中用case接收每一条数据
        # 第一步:准备用例的执行的数据
        data=eval(case["data"])
        expected=eval(case["expected"])
        case_id=case['case_id']

        # 第二步:调用功能函数,获取实际结果
        result=register(*data)

        # 第三步:比对实际结果和预期结果
        try:
            self.assertEqual(expected,result)
        except AssertionError as e:
            self.excel.write_result(row=case_id+1,column=5,value='未通过')
            raise e
        else:
            self.excel.write_result(row=case_id + 1, column=5, value='通过')

原文地址:https://www.cnblogs.com/python-squirrel/p/12145318.html