【发布时间】:2022-01-28 04:58:26
【问题描述】:
我是 Python 开发的新手,我正在使用 pytest 编写测试用例,我需要在其中模拟一些行为。谷歌搜索 pytest 的最佳模拟库, 只会让我感到困惑。我见过 unittest.mock、mock、mocker 和 pytest-mock。不太确定要使用哪一个。有人可以解释一下它们之间的区别并推荐我一个吗?
【问题讨论】:
-
mock最初是 Python 2.7 的第三方包,然后成为 Python 3 标准库的一部分,以unittest.mock提供。pytest-mock是一个pytest插件,它提供了一个mocker固定装置,它是unittest.mock的包装器,如下面的答案中所指出的,但具有附加功能。例如,它会在测试拆解时自动恢复测试中制作的所有补丁,确保测试隔离。请注意,mocker只能用于pytest样式的测试,例如如果您使用其他测试运行程序,它将无法被识别。
标签: python pytest tdd python-unittest pytest-mock