6、使用模拟对象打破紧密耦合

使用模拟对象打破紧密耦合

在软件开发中,单元测试和测试驱动开发是快速构建可靠程序的最佳实践方法。在之前的学习中,我们了解了单元测试的定义、它在开发过程各阶段的作用以及如何使用它来驱动开发。现在,我们将探讨如何借助模拟对象(Mock Objects)更轻松地隔离测试。

1. 模拟对象的概念

“Mock”在这种语境下意味着“模仿”,模拟对象正是如此。它模仿构成程序的真实对象,但实际上并非这些对象,也不依赖它们。模拟对象执行预定义的简单操作,看起来就像真实对象应该做的那样。其方法会返回你指定的值,或者抛出你指定的异常。

例如,我们之前用一个对象替换了 time.time ,该对象返回一个递增的数字序列。这个模拟对象就像 time.time ,但无论何时运行测试,或者计算机速度如何,它总是返回相同的数字序列。这就将测试与外部变量解耦了。模拟对象的核心就是将测试与外部变量解耦,这些变量有时是外部时间或处理器速度,但通常是其他单元的行为。

2. Python Mocker 工具

手动创建模拟对象可能是一个复杂且烦人的过程,还会影响测试的可读性。Python Mocker 就是这样一个模拟对象工具包,能帮助我们更轻松地创建和管理模拟对象。

2.1 安装 Python Mocker

Python Mocker 不在标准 Python 发行版中,因此需要手动下载和安装。安装步骤如下:
1. 访问 Python Mocker 的主页 http:/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值