pytest-mock: pytest-mock 插件用于创建和使用模拟对象,帮助我们模拟被测试代码的依赖项。它提供了简单易用的API,可以方便地创建和操作模拟对象。 pytest-asyncio: pytest-asyncio 插件用于支持异步测试。它允许我们在测试中使用 async 和await 关键字,而无需进行任何特殊的设置或修改。 pytest-sugar:
使用pytest-asyncio处理异步测试:importpytestfromunittest.mockimportAsyncMock@pytest.mark.asyncioasyncdeft...
import pytest from unittest.mock import AsyncMock @pytest.mark.asyncio async def test_async_function(mocker): mock = mocker.AsyncMock() # 使用 mock 进行测试 使用pytest-asyncio pytest-asyncio 是一个 pytest 插件,用于支持异步测试: 代码语言:txt 复制 import pytest from unittest.mock import Asy...
pytest-asyncio:用于异步测试的插件,支持异步函数和协程。 pytest-mock:用于模拟对象和函数调用的插件,方便进行单元测试。 pytest-xdist:用于并行运行测试用例的插件,能够显著减少测试时间。 pytest-benchmark:用于测试代码性能的插件,能够对比不同实现方式的性能。 pytest-sugar:提供了一个富有信息的命令行界面,让测试报告...
import asyncioimport pytestasyncdefasync_add(a, b):await asyncio.sleep(0.1)# 模拟异步操作return a + b@pytest.mark.asyncioasyncdeftest_async_add(): result =await async_add(1,2)assert result ==3 测试覆盖率是衡量测试完整性的重要指标。安装pytest-cov插件后: ...
my_appimportMyClass# my_app是一个异步应用 @pytest.mark.asyncio async def test_my_class(): my_class = MyClass() result = await my_class.my_method() # 调用异步方法并等待其完成 assert result == "expected result" # 验证结果是否符合预期```上面的示例中,使用`@pytest_asyncio`装饰符来标记...
@pytest.mark.prop("file.file.File.load", ret_val=File("直接mock返回值")) def test_load1(): assert File.load().filename == "直接mock返回值" # 无论被mock的方法是异步还是同步,无脑指定返回值 # 不过异步的方法测试需要pytest-asyncio这个包支持,指定一个asyncio的mark才可以 ...
pytest-mock:提供一个mock固件,创建虚拟的对象来实现测试中个别依赖点。 pytest-factoryboy:结合factoryboy工具用于生成各式各样的数据。 pytest-qt:提供为PyQt5和PySide2应用程序编写测试。 pytest-asyncio:用于使用pytest测试异步代码。 pytest-bdd:实现了Gherkin语言的子集,以实现自动化项目需求测试并促进行为驱动的开发...
在test_concurrent.py中,异步测试利用了该pytest-asyncio插件,展示了一个简单的并发测试场景。 利用pytest-xdist 进行并行测试执行 该pytest-xdist插件是并行测试执行、跨多个 CPU 甚至不同机器分配测试的典型工具。 在使用 -n 选项调用 pytest 时,pytest-xdist 就会开始行动,协调测试的并行执行。
Configure asyncio_mode to fix tests Jan 25, 2022 pyproject.toml Add support to python 3.13 (#466) Oct 25, 2024 tox.ini Add support to python 3.13 (#466) Oct 25, 2024 README MIT license Security pytest-mock This plugin provides amockerfixture which is a thin-wrapper around the patching...