单元测试 Mock 入门指南

掌握 Mock 技术,编写更可靠、更快速的单元测试

什么是 Mock?

在单元测试中,Mock(模拟对象) 是一种用于替代真实依赖的测试替身。 它允许你在不调用外部服务(如数据库、API、文件系统等)的情况下,验证被测代码的行为是否符合预期。

使用 Mock 可以:

常见 Mock 场景示例

JavaScript(Jest)示例:

// 模拟一个 API 调用
const mockFetchUser = jest.fn().mockResolvedValue({ id: 1, name: 'Alice' });

// 在测试中使用
test('should fetch user data', async () => {
  const user = await fetchUser(1);
  expect(mockFetchUser).toHaveBeenCalledWith(1);
  expect(user.name).toBe('Alice');
});

Python(unittest.mock)示例:

from unittest.mock import patch

@patch('my_module.requests.get')
def test_get_user(mock_get):
    mock_get.return_value.json.return_value = {'name': 'Bob'}
    result = get_user(2)
    assert result['name'] == 'Bob'

最佳实践建议

Blackmail 中 Ogilvie 图片解析与资源-专题页面 Be Back Later-稍后回来,敬请期待 I Love You Back-表达爱意的温柔回响 All Money Back Me Home-个人财务管理与资金回流指南 Go Black-极简主义与深色美学专题 Attack From:网络攻击来源分析与防护指南 Sport Back-专业运动护背装备指南与健康建议 Apache Tomcat 服务器入门指南-安装、配置与使用教程 高英Blackmail主题解析-网络安全与影视文化专题 Mock Server 使用指南-快速搭建本地模拟接口服务 BlackYak怎么读?发音、含义与品牌介绍-专题指南 Blacksouls2 彩蛋全解析-隐藏内容与秘密探索指南 back的副词用法详解-英语语法专题 A Boy Called Tom-成长故事与日常点滴 BlackRat的图-黑鼠原创插画与视觉作品专题 kokbora在线听-免费在线音乐播放平台 bringbackmemories什么意思?详细解析与用法指南 blockade 音标-英文单词发音与释义详解 Back in China-回到中国的实用指南与生活贴士 Blacksouls2 冷狐版-专题介绍与资源指南 Rollback是什么软件?功能介绍与使用指南 "I'm come back" 是正确语法吗?英语常见表达解析 Marc Jacobs 包包图片大全|时尚经典手袋图鉴 后院露营指南|轻松开启家庭户外冒险 Black Myth: Wukong 78TP翻译与本地化指南-中文玩家必备资源 Combawa护手霜-天然滋养,呵护双手 Blackboard78TP下载-安全免费获取最新版Blackboard应用 Mode Manual Load-Balance 详解|手动负载均衡配置指南 Take Back Home-回家之旅指南与资源 Black Souls表情包大全-高清免费下载与使用指南 CSS 中 block 元素的作用详解-前端开发基础指南 Blackboard什么意思?全面解析与使用指南 oblock街区-探索城市创意生活新地标 Set Somebody Back 含义、用法与例句详解 Blackboard 安卓版下载与使用指南-高效学习平台 Blacksouls2 支线任务全攻略-黑暗奇幻RPG剧情指南 Blacksouls吹笛人-游戏角色深度解析与背景故事 Blacksouls 安卓汉化版下载与使用指南-全面支持中文的黑暗奇幻RPG Mock Fake 工具与技巧指南-轻量级模拟数据生成方案 back的形容词形式详解-英语语法专题 iamback的四个用法详解-实用英语表达指南 Mock啥意思?全面解析Mock概念与应用场景 Make Known-分享知识,传递价值 《Come Back For You》简谱-免费查看与下载 Black Souls怎么读?发音、含义与常见问题解答 Make Effect On-创意效果制作指南与实用工具 Fall Back In-重拾初心,重新出发 rollback的中文翻译及用法详解 mabo是哪国品牌?品牌起源与详细介绍 Moneyback是什么意思?全面解析退款、返现与消费者权益 cblock早期成员-团队历史与创始故事 如何屏蔽某人(Block Someone)-实用指南与技巧 rollback是滚的意思吗?详解“rollback”在技术与日常中的含义 Blacksouls 装备推荐指南-高效配装与战斗技巧 Blackmail课文人物分析-高中英语经典课文深度解读 “jackboy”是什么意思?网络用语解析与常见用法 Backcountry 翻译与户外术语详解-中文对照指南 Boomrang游戏-经典弹射玩法,轻松上手的休闲益智游戏 Backstreet Boys 成员介绍-经典男子音乐组合全解析 Mock是干嘛的?详解Mock技术在开发与测试中的作用 Hold Me Back 是什么意思?英文短语详解与用法指南 bylayer 和 byblock 默认行为详解|CAD图层与块属性专题 遭遇攻击(Be Attacked By)应对指南-安全防护专题 Logback 78TP下载-高性能 Java 日志框架 Roll Blocks-趣味方块滚动游戏专题 Chicka Chicka Boom Boom 中文翻译与解析-经典英文童谣学习指南 下班回家指南|轻松开启你的归家时光 Blockading 专题指南-理解、应用与资源 《Blackmail》原文结局解析-剧情回顾与深度解读 Back to Dream 简谱-免费查看与下载 remarkabl-高效笔记与文档管理工具指南 Blacksouls吧-黑魂玩家交流社区 Aespa-Black Mamba 歌词|中文翻译与歌词解析 Blackmail 高英课后答案|高级英语课后习题解析 BlackMarket游戏-专题介绍与资源指南 Comeback 歌谱-免费查看与下载经典歌曲乐谱 “make contributions to” 翻译详解-含例句、用法与常见错误 Wacom中国-专业数位板与创意设备78TP指南 return 和 come back 的区别-英语用法详解 somecake怎么读?发音、含义与常见用法详解 MockLocation下载-安全免费获取虚拟定位工具指南 如何为“make contribution to doing”做出贡献|实用英语表达指南 Black Camera-专业摄影设备与技巧指南 "Back to" 中文翻译详解-常见用法与例句 backboardd是故障吗?原因分析与解决方法 梦回传奇BackMir-经典传奇私服游戏重温 block读音发音-英文单词“block”正确发音与释义指南 TopCashback中国-返现购物指南与使用教程 Make Form-快速创建表单的实用指南与工具 On Her Back-专题页面 Make Due Contributions To-积极履行责任,做出应有贡献 BlockDiagram是什么意思?详解与应用场景 WebSocket 技术详解与实战指南|实时通信开发入门 Backorder是什么意思?详解缺货预订与补货机制 Flooding Back:数据恢复与文件回溯指南 magicboy什么意思?全面解析与常见用法 高级英语词汇解析:Blackmail(勒索)主旨与用法详解 Backgate 与 Maingate 使用指南-技术对比与入门教程 Tack Back-高效追踪与回溯任务管理工具 comeback被你给救赎-专题页面