Pri*_*hra 24 python tdd pytest python-unittest pytest-mock
我是 Python 开发新手,我正在使用pytest编写测试用例,我需要模拟一些行为。谷歌搜索pytest 的最佳模拟库,只会让我感到困惑。我见过unittest.mock、mock、mocker 和pytest-mock。不太确定该使用哪一个。有人可以解释一下它们之间的区别并向我推荐一个吗?
Sim*_*awe 15
pytest-mock 是模拟的薄包装。
模拟是从 python 3.3 开始的。实际上与unittest.mock相同。
我不知道 mocker 是否是另一个库,我只知道它是 pytest-mock 提供的夹具的名称,用于在测试中完成模拟。
我个人使用 pytest 和 pytest-mock 进行测试,它允许您编写非常简洁的测试,例如
from pytest_mock import MockerFixture
@pytest.fixture(autouse=True)
def something_to_be_mocked_everywhere(mocker):
mocker.patch()
def tests_this(mocker: MockerFixture):
mocker.patch ...
a_mock = mocker.Mock() ...
...
Run Code Online (Sandbox Code Playgroud)
但这主要是由于使用了固定装置,这已经指出是 pytest-mock 提供的。
| 归档时间: |
|
| 查看次数: |
11757 次 |
| 最近记录: |