news 2026/7/2 11:29:26

109、pytest 从入门到上瘾(三):mock、monkeypatch、fake——测试替身全家桶

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
109、pytest 从入门到上瘾(三):mock、monkeypatch、fake——测试替身全家桶

109、pytest 从入门到上瘾(三):mock、monkeypatch、fake——测试替身全家桶

上周五晚上十一点,我盯着屏幕上那个诡异的测试失败日志,头皮发麻。一个支付模块的单元测试,明明逻辑没问题,却因为调用了真实的支付宝沙箱接口,网络超时导致整个CI流水线挂了。运维小哥在群里发了个“又来了”的表情包,我默默把测试代码里的requests.post换成了unittest.mock.patch,三分钟后流水线变绿。那一刻我意识到:测试替身不是锦上添花,是保命符

为什么需要测试替身?

真实项目里,你的代码大概率会依赖这些东西:数据库、第三方API、文件系统、时间函数、随机数生成器。单元测试的核心原则是“隔离”——我只想测我的业务逻辑,不想管网络通不通、数据库里有没有数据、今天是周几。

测试替身就是用来替换这些外部依赖的“假货”。pytest生态里主要有三大家族:mock(行为模拟)、monkeypatch(环境篡改)、fake(轻量级假实现)。别搞混,它们各有各的脾气。

mock:最常用的替身演员

unittest.mock是Python标准库,pytest直接拿来用。我习惯用pytest-mock插件,它把mock集成到fixture

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 11:27:03

Bluekit PHaaS 平台 BitM 浏览器中间人钓鱼攻击机理与防御体系研究

摘要 传统代理型 AiTM 中间人钓鱼工具存在会话设备指纹不匹配、易被风险访问策略拦截的固有缺陷,新型 PHaaS 钓鱼平台 Bluekit 创新采用 Browser-in-the-Middle(BitM)浏览器中间人攻击架构,依托 rrweb 屏幕录制、WebSocket 实时数…

作者头像 李华
网站建设 2026/7/2 11:25:03

CX6 PFC / DCQCN sysfs 目录文件简述

CX6 PFC / DCQCN sysfs 目录文件简述1. PFC / QoS 相关目录路径:/sys/class/net/enp9s0f0np0/qos/当前文件:buffer_size maxrate prio2buffer tc_numprio2buffer描述 priority 到 buffer 的映射关系。示例:Priority Buffer 0 1 …

作者头像 李华
网站建设 2026/7/2 11:21:19

原神帧率解锁工具:打破60帧限制,开启丝滑游戏体验

原神帧率解锁工具:打破60帧限制,开启丝滑游戏体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神60帧的画面卡顿而烦恼吗?这款原神帧率解锁…

作者头像 李华
网站建设 2026/7/2 11:20:39

Claude Sonnet 5 上线

Claude Sonnet 5 上线 Claude 把 Agent 模型打到更便宜,豆包继续补真实工作流,OpenAI 则把企业最头疼的内网工具接入问题拿出来单独解决。今天 AI 圈可以看的事不少,但真正值得普通读者停一下的,其实只有三件。 不是谁又发了一个小…

作者头像 李华
网站建设 2026/7/2 11:18:24

算力效率时代的基础设施之争:主流AI算力服务商产品测评

一、观察背景:算力价值正在被重新定义2026年,AI产业正经历一场深刻的价值重估。过去十年,算力基础设施的竞争逻辑相对简单:谁拥有更多的服务器、更高的浮点运算能力、更大的存储容量,谁就能在市场中占据优势。这是一种…

作者头像 李华
网站建设 2026/7/2 11:17:24

从公开资料看必火AI数字人:产品定位、核心场景与内容链路

在 AI 数字人工具越来越多的当下,很多用户第一次接触“必火AI数字人”时,最先产生的疑问往往不是它能不能生成视频,而是它到底属于哪一类产品。有人会把它理解成单纯的数字人生成工具,也有人会把它当成短视频制作软件,…

作者头像 李华