72、Python 测试与日志:Mock 对象和日志系统的全面指南

Python 测试与日志:Mock 对象和日志系统的全面指南

1. Mock 对象在测试中的应用

在编写测试时,我们不仅要测试自己的代码,还需处理与外部资源(如硬件、数据库、Web 主机和服务器等)的交互。有些测试可以安全运行,但有些测试可能速度慢、有风险甚至无法运行。这时,Mock 对象就派上用场了,它可以模拟任何外部资源,确保代码不受外部因素干扰,仍能返回预期结果。

1.1 使用 unittest.mock

unittest.mock 库提供了 Mock MagicMock 两个基础对象,方便我们模拟外部资源。 Mock 是通用的模拟对象,而 MagicMock 类似,但定义了如 __contains__ __len__ 等魔法方法,使用起来更便捷。除了手动创建 Mock 对象,还可以使用 patch 装饰器或上下文管理器直接修补对象。

以下是一个使用 random 函数根据概率返回 True False 的示例:

from unittest import mock
import random

def bernoulli(p):
    return random.random() > p

@mock.patch('rando
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值