首页 > 其他 > 详细

关于ddt数据驱动,做到这几步就够了

时间:2020-02-27 23:06:15      阅读:122      评论:0      收藏:0      [点我收藏+]

数据驱动将数据和代码分离,能够帮助我们高效的管理测试数据,在unittest框架中如何使用数据驱动呢?需要用到第三方模块ddt。

 

假设有一个现成的接口is_number,它的功能是判断传入的参数是否为正数,首先设计测试用例,然后根据测试用例,整理出测试数据如下:

datas = [
  {id: 1, title: 输入正整数, data: 8, expect: True},
  {id: 1, title: 输入大于0的浮点数, data: 1.9, expect: True},
  {id: 1, title: 输入0, data: 0, expect: True},
  {id: 1, title: 输入负数, data: -2, expect: False},
  {id: 1, title: 输入非数字, data: ‘abc‘, expect: False}
]

有了数据和接口,就可以实现数据驱动功能了,步骤如下:

首先安装ddt: pip install ddt 

新建测试文件test.py,引入unittest、ddt和接口:

import is_num
import ddt
import unittest

创建测试类和方法,并引入数据驱动:

@ddt.ddt
class TestNumber(unittest.TestCase):
    @ddt.data(*datas)
    def test_is_number(self, data):
        num = data[data]
        expect = data[expect]
        res = is_number(num)
        self.assertEqual(res, expect)

虽然我们只写了一个测试方法,但是在执行时ddt.data()会把datas列表进行拆包处理,每一组数据都会通过data传入test_is_number,所以test_is_number一共会执行5次,每次测试一组数据。

关于ddt数据驱动,做到这几步就够了

原文:https://www.cnblogs.com/suanmiaoup/p/12375054.html

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