zoukankan      html  css  js  c++  java
  • python-ddt处理测试类数据

    # ddt + unittest :来进行数据处理的第三方库
    # 装饰器:在函数运行前运行
    # 安装ddt :python -m pip install ddt
    
    import unittest
    from ddt import ddt,data,unpack
    
    test_data1 = [1,3]
    test_data2 = [[1,3],[4,5]]
    test_data3 = [[1,3],[4,5,6]]
    test_data4 = [{'no':'001','name':'kite'},{'no':'002','name':'shiguang'}]
    
    
    @ddt # 装饰测试类
    class TestMath(unittest.TestCase):
        @data(test_data1)
        def test_print_add1(self,item1):
            print("[1,3]的打印结果是---item1:",item1)  # item1: [1, 3]
    
    
        @data(test_data1)
        @unpack  # 根据逗号拆分,注意参数不对等的情况
        def test_print_add2(self,a,b):
            print("*[1,3]的打印结果是---a:",a)  # a: 1
            print("*[1,3]的打印结果是---b:",b)  # b: 3
    
        @data(test_data2)   # [[1,3],[4,5]]
        @unpack
        def test_print_add3(self, x1, x2):
            print("x1:", x1)  # x1: [1, 3]
            print("x2:", x2)  # x2: [4, 5]
    
        @data(*test_data2)  # 加*,脱一个参数 [1,3],[4,5]
        @unpack
        def test_print_add4(self, a, b):  # 根据逗号拆分,注意参数不对等,会报错
            print("a:", a)
            print("b:", b)   # 第一组a: 1 b: 3   第二组a: 4 b: 5
    
        @data(*test_data3)
        @unpack  # unpack拆分后, 参数太多,可以先@data(*test_data2),然后索引找要的值,不推荐使用unpack
        def test_print_add5(self, m = None, n = None, o = None):
            print('m:', m)  # m: (1, 3) m: (4, 5, 6)
            print('n:',n)
            print('o:',o)
            # m: 1          m: 4
            # n: 3          n: 5
            # o: None       o: 6
        @data(*test_data4)   # [{'no':'001','name':'kite'},{'no':'002','name':'shiguang'}]
        @unpack
        def test_print_add4(self, no, name):
            print("no:", no)
            print("name:", name)
            # no: 001        no: 002
            # name: kite     name: shiguang
    
    
    
    if __name__ == '__main__':
        unittest.main()
  • 相关阅读:
    菜鸟快速自学java00之变量类型
    php 接口和抽象类
    java 三大特性之多态性
    设计模式
    依赖注入
    Java设计模式工厂模式
    php 设计模式之策略模式
    大数的概述
    熟悉常用的Linux操作
    GridView动态添加列
  • 原文地址:https://www.cnblogs.com/kite123/p/12195724.html
Copyright © 2011-2022 走看看