Python-接口自动化(十)

2019-04-26 08:18:52来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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来进行数据处理;

 

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


原文链接:https://www.cnblogs.com/xuxiaozhu/p/10762195.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python执行时遇到 KeyError: b'somevar' 时需要想到的

下一篇:Django2.X报错-------ModuleNotFoundError: No module named &