目录:
- 安装及入门
- 使用和调用方法
- 原有TestSuite使用方法
- 断言的编写和报告
- Pytest fixtures:清晰 模块化 易扩展
- 使用Marks标记测试用例
- Monkeypatching/对模块和环境进行Mock
- 使用tmp目录和文件
- 捕获stdout及stderr输出
- 捕获警告信息
- 模块及测试文件中集成doctest测试
- skip及xfail: 处理不能成功的测试用例
- Fixture方法及测试用例的参数化
- 缓存: 使用跨执行状态
- unittest.TestCase支持
- 运行Nose用例
- 经典xUnit风格的setup/teardown
- 安装和使用插件
- 插件编写
- 编写钩子(hook)方法
- 运行日志
- API参考
- 优质集成实践
- 片状测试
- Pytest导入机制及sys.path/PYTHONPATH
- 配置选项
- 示例及自定义技巧
- Bash自动补全设置
API参考-Special Variables
特殊变量
pytest在测试模块中定义时以特殊方式处理一些全局变量。
collect_ignore
教程:自定义测试集合
可以在conftest.py文件中声明以排除测试目录或模块。需要成为list[str]
。
collect_ignore = ["setup.py"]
collect_ignore_glob
教程:自定义测试集合
可以在conftest.py文件中声明,以使用Unix shell样式的通配符排除测试目录或模块。需要在list[str]
哪里str
可以包含glob模式。
collect_ignore_glob = ["*_ignore.py"]
pytest_plugins
可以在测试模块和conftest.py文件中在全局级别声明以注册其他插件。可以是一个或。str``Sequence[str]
pytest_plugins = "myapp.testsupport.myplugin"
pytest_plugins = ("myapp.testsupport.tools", "myapp.testsupport.regression")
pytest_mark
教程:标记整个类或模块
可以在测试模块的全局级别声明,以将一个或多个标记应用于所有测试功能和方法。可以是单个标记或标记列表。
import pytest
pytestmark = pytest.mark.webtest
import pytest
pytestmark = [pytest.mark.integration, pytest.mark.slow]
PYTEST_DONT_REWRITE(模块文档字符串)
PYTEST_DONT_REWRITE
可以将文本添加到任何模块docstring以禁用 该模块的断言重写。