前言:
嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
在测试并行开发(TPD)中,代码开发是第一位的。
尽管如此,我们还是要写出开发的测试,并执行它们来验证代码的准确性(而不是直接运行代码或使用控制台)。
在Python中,我们有一个叫做单元测试的过程,里面有mock 和patch 函数。
这篇文章将讨论这两个角色的用途和区别。
Mock 和Patch 对象库的用途和区别
在这篇文章中,我们不会把单元测试作为一个整体来处理,而是更多地关注于mock 和patch 函数。
我们使用mock Python包,用mock 对象替换你的被测系统的特定组件,并对它们的使用进行断言。
它是Python标准库的一个组成部分,从Python 3.3开始可以作为unittest.mock 。
unittest.mock 类消除了在整个测试套件中对几个存根的需要。
在执行了一个特定的动作后,我们可以设置关于我们使用了哪些方法/属性以及我们调用它们的参数的断言。
它让我们指定返回值并选择需要的功能。
MagicDock可以处理Magic 对象,它是Mock 的子类。
Mock 和MagicMock 对象在我们使用它们时自发地产生特性和方法,并记录使用信息。
嘲讽是基于action -> assertion (即先让mock 被使用,然后对它收到的调用进行断言)模式,而不是许多嘲讽框架使用的record -> replay 模式。

本文探讨Python单元测试中的Mock和Patch的区别。Mock对象库用于替换测试系统的组件并记录其使用,而Patch则是用于在测试上下文中临时替换类和模块的方法。使用Patch可以确保在测试结束后恢复原始状态,防止影响其他测试。文章通过代码示例阐述了两者的应用。
最低0.47元/天 解锁文章
756

被折叠的 条评论
为什么被折叠?



