(八)数据驱动ddt

1,未使用可变参数

import unittest
import ddt

t = ('苹果','火龙果','香蕉','柚子')


@ddt.ddt
class DemoTest(unittest.TestCase):

    @ddt.data(t)
    def test_login_demo(self, item):
        print('开始打印参数')
        print('取到的参数是{}'.format(item))
        print('结束打印参数')


if __name__ == '__main__':
    unittest.main()

打印的结果

Process finished with exit code 0
开始打印参数
取到的参数是('苹果', '火龙果', '香蕉', '柚子')
结束打印参数

2,使用可变参数

import unittest
import ddt

t = ('苹果','火龙果','香蕉','柚子')

@ddt.ddt
class DemoTest(unittest.TestCase):

    @ddt.data(*t)
    def test_login_demo(self, item):
        print('开始打印参数')
        print('取到的参数是{}'.format(item))
        print('结束打印参数')


if __name__ == '__main__':
    unittest.main()

打印的结果

开始打印参数
取到的参数是苹果
结束打印参数
开始打印参数
取到的参数是火龙果
结束打印参数
开始打印参数
取到的参数是香蕉
结束打印参数
开始打印参数
取到的参数是柚子
结束打印参数

3,使用unpack

import unittest
import ddt

t = [('苹果', '火龙果'), ('香蕉', '柚子')]


@ddt.ddt
class DemoTest(unittest.TestCase):

    @ddt.data(*t) # 装饰方法,data解包之后 有几个参数就运行几条用例
    @ddt.unpack # 根据,将上一层的数据再次进行根据逗号进行拆分 因为是两个参数 所以要用两个参数进行接收,注意:有几个变量就用几个参数进行接收
    def test_login_demo(self, item1, item2):
        print('开始打印参数')
        print('取到的参数是{}'.format(item1))
        print('结束打印参数')


if __name__ == '__main__':
    unittest.main()

打印的结果

开始打印参数
取到的参数是苹果
结束打印参数
开始打印参数
取到的参数是香蕉
结束打印参数

猜你喜欢

转载自www.cnblogs.com/lvchengda/p/13177748.html