软件信息网 移动端开发 python数据处理

python数据处理

1.装饰器

#装饰器的官方定义:
装饰器本质上是一个Python函数(其实就是闭包),它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。

2.ddt

复制代码
import unittest
#引入ddt库
from ddt import ddt,data,unpack
test_data = [{"name":"张三"},2]

@ddt#装饰测试类
class DemoCase(unittest.TestCase):
    @data(test_data)#装饰函数
    def test_jia(self,item):
        print(item)
    def test_jian(self):
        pass

if __name__ == '__main__':
    unittest.main()
运行结果:
plugins: html-3.2.0, metadata-2.0.4collected 2 items demo.py .[{'name': '张三'}, 2] . [100%] ============================== 2 passed in 0.04s ============================== Process finished with exit code 0
复制代码

3.ddt脱外套

复制代码
import unittest
#引入ddt库
from ddt import ddt,data,unpack
test_data = [{"name":"张三"},2]

@ddt#装饰测试类
class DemoCase(unittest.TestCase):
    @data(*test_data)#装饰函数,*test_data脱外套,根据脱外套后的数据执行次数
    def test_jia(self,item):
        print(item)

if __name__ == '__main__':
    unittest.main()
复制代码
运行结果:
plugins: html-3.2.0, metadata-2.0.4collected 2 items
demo.py .{'name': '张三'}
.2                                                              [100%]
============================== 2 passed in 0.04s ==============================
Process finished with exit code 0
复制代码
复制代码

4.ddt中的@unpack

复制代码
import unittest
#引入ddt库
from ddt import ddt,data,unpack
test_data = [[2,6],[9,1000]]

@ddt#装饰测试类
class DemoCase(unittest.TestCase):

    @data(*test_data)#装饰函数,*test_data脱外套,根据脱外套后的数据执行次数
    @unpack
    def test_jia(self,a,b):
        print("a: ",a)
        print("b: ",b)

if __name__ == '__main__':
    unittest.main()
复制代码
运行结果:
plugins: html-3.2.0, metadata-2.0.4collected 2 items
demo.py 
.a:  2
b:  6
.a:  9
b:  1000                                                              [100%]
============================== 2 passed in 0.04s ==============================
复制代码

 


复制代码

5.ddt+openpyxl参数化实现

复制代码
import unittest
#引入ddt库
from ddt import ddt,data,unpack
from test01.doexcel import DoExcel
python数据处理 DoExcel类代码
test_data = DoExcel("C:UsersAdministratorDesktoptestdemo.xlsx","s1").return_excel_value()#[{},{},{}]

@ddt#装饰测试类
class DemoCase(unittest.TestCase):

    @data(*test_data)#装饰函数,*test_data脱外套,根据脱外套后的数据执行次数
    def test_jia(self,item):
        print(item["method"],item["url"],item["data"],item["expect"])

if __name__ == '__main__':
    unittest.main()
复制代码
执行结果:
plugins: html-3.2.0, metadata-2.0.4collected 2 items
demo.py .post http://www.qabujiaban.com/user/login {'username': 'uuuu222都44', 'password': 'WJHasb124*1'} 0000
.get http://www.qabujiaban.com/user/login {'username': 'uuuu222都44', 'password': 'WJHasb124*1'} 0000
                                                               [100%]
============================== 2 passed in 0.31s ==============================
Process finished with exit code 0
本文来自网络,不代表软件信息网立场,转载请注明出处。软件定制开发交流:15528175269(微信同号)http://www.saasyo.com/xz/17077.html

作者: 王鹏程序员

上一篇
下一篇
联系我们

联系我们

15889726201

在线咨询: QQ交谈

邮箱: 187395037@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部