zoukankan      html  css  js  c++  java
  • (八)数据驱动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()
    

    打印的结果

    开始打印参数
    取到的参数是苹果
    结束打印参数
    开始打印参数
    取到的参数是香蕉
    结束打印参数
    
  • 相关阅读:
    Ajax 异步请求返回集合遍历问题
    JS 类数组,字符串,转换成数组的方法
    laravel、TP、YII三个框架的优缺点对比
    纵深防御
    渗透测试小结
    常见的设计模式
    CDN简介
    WAF小介
    分布式事务及其常见的解决方案
    redis主从复制
  • 原文地址:https://www.cnblogs.com/lvchengda/p/13177748.html
Copyright © 2011-2022 走看看