zoukankan      html  css  js  c++  java
  • Python-接口自动化(十)

    ddt+unnittest+excel处理测试数据(九)

    (十一)ddt

    1、利用ddt实现数据驱动,ddt是第三方模块,在终端输入pip install ddt 进行安装

    导入:from ddt import ddt,data,unpack

    a、如果unpack后的参数少于5个可以使用 推荐用unpack,但是需要注意参数不对等的情况,需要提供对应的参数来接收数据;

    b、如果要对字典进行unpack,参数名需要与字典里面的key相对应,不可以取别的名字;

    2、装饰器:会在函数运行之前运行(可自行了解)

    3、运用:

     1 from ddt import ddt, data, unpack
     2 
     3 import unittest
     4 
     5 test_data = [{"no":1,"name":"xiaozhu"},{"no":2,"name":"xiaoxiao"}]
     6 
     7 
     8 @ddt  # 装饰测试类
     9 class TestMath (unittest.TestCase):
    10 
    11     @data (*test_data) # 用来装饰测试方法,拿到几个数据就执行几条用例
    12     @unpack
    13     # 如果unpack后的参数少于5个可以使用 推荐用unpack,但是需要注意参数不对等的情况,需要提供对应的参数来接收数据
    14     # 如果要对字典进行unpack,参数名需要与字典里面的key相对应,不可以取别的名字
    15     def test_print_data(self,no,name):
    16         print ("no:", no)
    17         print ("name:", name)

    打印出来的结果是:

    no: 1
    name: xiaozhu
    no: 2
    name: xiaoxiao

    4、unnittest+excel结合使用的方法

    一、超继承(原理要懂)

    二、ddt(推荐使用)

    具体操作流程:

    a、写好类;

    b、在unittest这个框架上去做单元测试,通过单元测试实现自己写的类的测试;

    c、TestCase里面写测试用例,加self.assert进行断言和异常处理;

    d、参数化,可以写在代码里面也可以写在Excel里面,写在Excel里面就可以用openpyxl来进行数据处理;

     以上,第十部分到此结束~

  • 相关阅读:
    C++学习之路(四):线程安全的单例模式
    C++学习之路(三):volatile关键字
    C++学习之路(五):复制构造函数与赋值运算符重载
    类对象作为函数参数进行值传递
    System V共享内存介绍
    关于迭代器失效
    C++学习之路(二):引用
    C++学习之路(一):const与define,结构体对齐,new/delete
    epoll内核源码分析
    Redux中间件之redux-thunk使用详解
  • 原文地址:https://www.cnblogs.com/xuxiaozhu/p/10762195.html
Copyright © 2011-2022 走看看