IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Python 知识点集合 -> 正文阅读

[开发测试]Python 知识点集合

Python的装饰器的作用

装饰器模式是一个强大的模式,可以给一个函数增加额外的方法而不用修改原来的代码
比如,当我们需要给原来的代码添加日志记录时,需要将原来的代码进行修改,在函数里面增加日志记录的代码。但如果使用装饰器模式,使用装饰器装饰原来的代码,将日志记录放在装饰器里,就可以避免修改原有的代码,同时又实现了所需的功能。这种编程模式就叫做面向切片编程

作用和使用场景

  • 引入日志

  • 函数执行时间统计

  • 执行函数前预备处理

  • 执行函数前的清理功能

  • 权限效验等

参考阅读
Python的装饰器的作用


Python Mock单元测试

在这里插入图片描述

为什么要使Mock

场景模拟1:比如有A和B两个模块,A模块中有调用到B模块的方法,但是很不幸,B模块中被A模块调用的方法由于一定的原因需要被修改,然而我们又不想让影响A模块的功能测试,所以就用到了单元测试模块unittest中的mock模块;mock模块就是模拟出一个假的B模块

场景模拟2:有时需要为单元测试的初始设置准备一些其他的资源,但是这些资源又不太经常使用或者是使用起来比较笨拙,此时我们就可以定义一个mock对象来模拟一个需要使用的资源;mock对象用于代替测试的准备资源

Mock基本使用

  1. Mock构造器
    init是mock对象的构造器,init(name = None, return_ralue = DEFAULT, side_effect =None, spec = None)
    name是mock对象的唯一标识
    spec设置的是mock对象的属性,可以是property或者方法,也可以是其他的列表字符串或者其他的python类
    return_value设置的是,当这个mock对象被调用的时候,显示出的结果就是return_value的值
    side_effect是和return_value是相反的,覆盖了return_value,也就是说当这个mock对象被调用的时候,返回的是side_effect的值,而不是return_value

  2. Mock断言
    assert_called_with(*argSeq, **argKW):检查mock方法是否获得了正确的参数;当至少有一个参数有错误的值或者类型时,当参数的个数出错时,当参数的顺序不正确时,这个断言就会发生错误
    assert_called_once_with(*argSeq, **argKW)这个断言,当某个方法被多次调用的时候,它就会报错
    assert_any_call()用于检查测试的mock对象在测试例程中是否调用了方法,和前边的两个断言不一样,前边的两个只是检查最近一次的调用;看下边的例子(mock的构造仍和上边的例子一样)
    assert_has_calls()检查是否按照正确的顺序和正确的参数进行调用的;所以,我们需要给出一个方法的调用顺序,assert的时候按照这个顺序进行检查

  3. Mock管理方法
    attach_mock():将一个mock对象添加到另一个mock对象中
    configure_mock():更改mock对象的return_value值
    mock_add_spec(aSpec, spec_set = False):这个函数就是给mock对象添加一个新的属性(mock对象原来的属性就会被擦除),第二个参数是指属性是可读可写,默认是只读,如果想让其拥有写权限,可以将其设置为true
    reset_mock():将mock对象恢复到测试之前的状态,这里也就是避免了重新构造mock对象带来的开销。这里就不给出举例

Mock统计

called: 跟踪mock对象所做的任意调用的访问器
call_count:mock对象被工厂调用的次数
call_args:获取工厂调用时的参数(最近使用的参数)
call_args_list:获取工厂调用的的所有参数,是个列表
method_calls:测试一个mock对象都调用了哪些方法,结果是一个list
mock_calls:显示工厂调用和方法调用

参考阅读

return_value 和 side_effec
Python中的模块学习之mock模块

参考阅读
Python中的模块学习之mock模块
return_value 和 side_effect 使用


Python代码中func(*args, **kwargs)

参考阅读
Python代码中func(*args, **kwargs)

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:46:32  更:2021-10-12 23:47:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 3:01:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码