目录
特殊变量(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文件中要求/加载插件
可以在测试模块和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以禁用该模块的断言重写。
环境变量(Environment Variables)
可用于更改pytest行为的环境变量。
PYTEST_ADDOPTS
它包含一个命令行(由py:mod:shlex模块解析),该命令行将添加到用户给出的命令行之前,有关详细信息,请参阅如何更改命令行选项默认值。
PYTEST_DEBUG
设置后,pytest将打印跟踪和调试信息。
PYTEST_PLUGINS
包含应作为插件加载的以逗号分隔的模块列表:
export PYTEST_PLUGINS=mymodule.plugin,xdist
PYTEST_DISABLE_PLUGIN_AUTOLOAD
设置后,通过setuptools入口点禁用插件自动加载。只会加载明确指定的插件。
PYTEST_CURRENT_TEST
这并不是由用户设置,而是由pytest在内部设置当前测试的名称,以便其他进程可以检查它,有关详细信息,请参阅PYTEST_CURRENT_TEST环境变量。
异常(Exceptions)
UsageError
class UsageError[source]
error in pytest usage or invocation