当前位置: 首页 > news >正文

【Python单元测试】pytest框架单元测试常用用例

【Python单元测试】pytest框架单元测试 配置 命令行操作 测试报告 覆盖率
在这里插入图片描述

常用用例

本文重点介绍使用的Mock写法, pytest的基本用法,非本文重点。

睡眠Mock time.sleep

python内置类的mock可以参照此种写法, Mock后内置类/方法实际并不会执行,assert是否被调用

from unittest.mock import patchdef xx():print("a" * 10)time.sleep(1)  # 此处有睡眠print("b" * 10)@patch("time.sleep")  # mock后, UT执行时不睡眠
def test_xx(mock_sleep):xx()# .assert_not_called()# .assert_called()# .assert_called_once()# .assert_called_once_with(params) params UT调用时的参数# .assert_called_times(2)   被执行2次assert mock_sleep.assert_called_once_with(1)  # 查看睡眠行是否调用, 并且mock睡眠时间是不是1秒

调用类Mock

# module_a/a.pyclass ClassA:@staticmethoddef cal_sum(a: int, b: int) -> int:return a + bdef cal_2_num_sum(a, b):ret = ClassA.cal_sum(a, b)return ret
# unit_test/test_module_a.pyfrom unittest.mock import patchfrom module_a.a import cal_2_num_sum@patch("module_a.ClassA")
def cal_2_num_sum(mock_class_a):mock_class_a.return_value.cal_sum.return_value = 0ret = cal_2_num_sum(1, 2)assert ret == 0@patch.object(ClassA, "cal_sum")
def cal_2_num_sum(mock_cal_sum):mock_cal_sum.return_value = 0ret = cal_2_num_sum(1, 2)assert ret == 0

装饰器Mock


http://www.mrgr.cn/news/62260.html

相关文章:

  • Python的秘密基地--[章节8] Python 数据科学与机器学习
  • Maven核心概念总结
  • Firm-Level Climate Change Exposure
  • 计算机伦理与职业规范1:计算的社会背景
  • 游戏引擎学习第62天
  • 《QT 5.14.1 搭建 opencv 环境全攻略》
  • Go性能基础
  • 【股东权益与市值:概念、计算与差异分析】
  • 关于防止布局底部有弹簧而导致的QWidget闪烁问题
  • 12-Docker发布微服务
  • STM32的隐藏定时器---DWT
  • 为什么大模型都是Decoder-only结构?
  • Python入门——iter迭代器—__iter__()方法__next__()方法
  • 详解RabbitMQ三种队列类型
  • Rust编程中的浮点数比较
  • 多线程显示 CSV 2 PNG 倒计时循环播放
  • Redis 淘汰策略 问题
  • leetcode hot100【LeetCode 230. 二叉搜索树中第K小的元素】java实现
  • DOM---鼠标事件类型(移入移出)
  • Java AQS Semaphore 源码
  • 天润融通突破AI客服局限,三大关键提升文本机器人问答效果
  • [SWPUCTF 2021 新生赛]easy_sql的write up
  • 虚拟机Ubuntu实现和宿主机之间的数据传输(只能复制粘贴,包过)
  • JVM系列之内存布局
  • RK3568平台(PWM篇)红外遥控适配
  • 高效构建仓库AGV管理系统:基于Python的路径规划与货架管理