Pytest使用帮助中文手册

【译】Pytest使用帮助中文手册

作者:pytest官方

翻译:yixzm <dream@yixzm.cn>

版本:V1_20190508_1606

来源:pytest --help

用法: pytest [选项] [文件或文件夹] [文件或文件夹] [...]

示例:pytest --no-print-logs testcase_1.py testcase_2.py

选择用例执行位置的参数: [文件或文件夹]

注:

下文中提到的用例指需要执行的函数方法或类。
选项参数后的变量必须时Python能解析的语句,可使用or and等语法关键字。
命名翻译:
EXPRESSION         

关键字 

MARKEXPR           

标签

ROOTDIR     

根目录

doctests

文档比对测试用例

hypothesis

用例库

常用选项:

参数

说明及示例

-k 关键字 

只运行匹配到指定关键字的测试用例。关键字必须是Python能够解析的字符串。示例:

-k 'test_method or test_other' 匹配所有包含'test_method' or 'test_other'的用例;

-k 'not test_method' 匹配名字不包含'test_method'的用例。

其他关键字参考样例使用,或者直接使用用例名称。

-m 标签

只运行匹配到指定标签的测试用例。示例:

-m 'mark1 and not mark2'

--markers

展示标签(范围包括pytest内置、插件和每个项目)

-x, --exitfirst

出现错误或用例执行失败立即退出

--maxfail=指定次数

出错或用例执行失败指定次数后

--strict

标签没有定义则报错

-c 指定文件

从“指定文件”加载配置,而不是尝试找到一个隐式配置文件

--continue-on-collection-errors

即使发生收集错误,也强制执行测试。

--rootdir=根目录

定义测试的根目录,可以定义为相对路径:'root_dir', './root_dir', 'root_dir/another_dir/';绝对路径: '/home/user/root_dir';使用环境变量: '$HOME/root_dir'。

--fixtures, --funcargs

查看可用插件,按名称排序

--fixtures-per-test

查看每个用例关联的插件

--import-mode={前置,追加}

以 前置/追加 的方式引入测试模块,默认前置

--pdb

出现错误或键盘输入中断时,启动Python调试器

--pdbcls=模块名:类名

出现错误时启动自定义Python调试器,例如:

--pdbcls=IPython.terminal.debugger:TerminalPdb

--trace

用例成功运行则立刻中断

--capture=方式

每个用例的捕获方法: one of fd|sys|no.(存疑)

-s

--capture=no时手动获取

--runxfail

用例失败依然执行

--lf, --last-failed

仅重新运行上次运行失败的测试(如果没有失败则运行全部)

--ff, --failed-first

运行全部用例,但优先执行上次失败用例。执行过程中会重置。

--nf, --new-first

优先执行新文件,然后执行顺序按修改时间排序。

--cache-show

显示缓存内容,不执行收集或测试

--cache-clear

在测试运行开始时删除所有缓存内容。

--lfnf={all,none}, --last-failed-no-failures={all,none}

如果上次运行没有用例失败或者没有在缓存中找到失败信息,则更改用例状态

--sw, --stepwise

测试失败时退出并从上次失败的测试继续下一次

--stepwise-skip

忽略第一个失败的测试,但在下一个测试时停止不及格试验

报告:

参数

说明及示例

-v, --verbose

增加详细描述

-q, --quiet

减少详细描述

--verbosity=VERBOSE

设置详细描述等级

-r 选项字符

按字符指定显示额外的测试摘要信息:

(f)失败,(e)错误,(s)跳过,(x)失败,(x)通过,

(p)通过,(p)通过输出,(a)除pp外的所有。

警告始终显示,除非设置了禁用警告

--disable-warnings

禁用pytest的警告

-l, --showlocals

在回溯中显示局部变量(默认情况下禁用)。

--tb=style

回溯打印模式(自动/长/短/行/本机/否)

--show-capture={no,stdout,stderr,log,all}

控制失败用例的stdout/stderr/log显示方式。默认值为“all”(默认输出、错误输出和日志全部显示)。

--full-trace

不剪切任何回溯(默认为剪切)

--color=color

终端信息彩色输出(是/否/自动)

--durations=N

显示N个测试持续时间最长的用例(测试最慢),默认全部显示。

--pastebin=mode

向bpaste.net (pastebin服务)发送失败所有信息。

--junit-xml=path

在指定路径创建JUnit XML样式的报告文件

--junit-prefix=str

在JUnit XML输出中为类名加前缀

--result-log=path

指定结果输出路径(不建议使用自定义路径)

收集:

参数

说明及示例

--collect-only

收集用例,但不执行测试

--pyargs

尝试将所有参数解释为python包。

--ignore=path

收集期间忽略路径(允许多个)

--deselect=nodeid_prefix

在收集期间取消选择项(允许多次)。

--confcutdir=dir

仅加载与指定目录相关的conftest.py

--noconftest

不要加载任何conftest.py文件。

--keep-duplicates

保留重复的测试。

--collect-in-virtualenv

不要忽略本地virtualenv目录中的用例

--doctest-modules

在所有.py模块中运行doctests

--doctest-report={none,cdiff,ndiff,udiff,only_first_failure}

为文档比对测试用例失败时的比较信息选择其他输出格式

--doctest-glob=pat

文档比对测试用例文件匹配模式,默认:test*.txt

--doctest-ignore-import-errors

忽略文档比对测试用例中的文档导入错误

--doctest-continue-on-failure

对于给定的文档比对测试用例,在第一次失败后继续运行

测试会话调试和配置:

参数

说明及示例

--basetemp=dir

当前测试运行的临时根目录。(警告:如果这个目录已存在,将删除再新建)

--version

显示pytest lib版本和导入信息。

-h, --help

显示帮助信息和配置信息

-p name

预加载指定插件(允许多个)。要避免加载插件,请使用“no:”前缀,例如“no:doctest”。

--trace-config

跟踪conftest.py文件定义的注意事项。

--debug

将内部跟踪调试信息存储在“pytestdebug.log”中。

-o [ini选项], --override-ini=[ini选项]

使用“option=value”样式覆盖ini选项,例如“-o xfailu strict=true-o cacheu dir=cache”。

--assert=模式

控制断言调试工具。plain“不执行断言调试。”rewrite'(默认值)在导入时重写测试模块中的assert语句,以提供assert表达式信息。

--setup-only

仅设置测试固定配置,不执行测试用例。

--setup-show

执行测试用例时显示测试固定配置

--setup-plan

显示将执行哪些测试固定配置和测试用例,但不实际执行任何操作。

告警:

参数

说明及示例

-W [PYTHON警告], --pythonwarnings=[PYTHON警告]

设置要报告的警告,请参见python本身的-w选项。

日志:

参数

说明及示例

--no-print-logs

禁止打印失败测试用例的日志内容

--log-level=日志级别

设置日志模块的日志级别

--log-format=日志格式

设置日志模块的日志格式

--log-date-format=日期格式

设置日志模块的日期格式

--log-cli-level=命令行级别

设置命令行界面的级别

--log-cli-format=命令行格式

设置日志模块的在命令行输出的日志格式

--log-cli-date-format=日期格式

设置日志模块的在命令行输出的日期格式

--log-file=日志文件

指定日志写入的文件路径

--log-file-level=日志文件级别

日志文件的日志级别

--log-file-format=日志文件格式

日志模块写入文件的日志格式

--log-file-date-format=日期格式

日志模块写入文件的日期格式

用例库(Hypothesis):

参数

说明及示例

--hypothesis-profile=用例库配置文件

加载已注册的用例库配置文件

--hypothesis-verbosity={quiet,normal,verbose,debug}

用明确定义的变量覆盖配置文件

--hypothesis-show-statistics

打印统计信息时配置

--hypothesis-seed=用例库种子

这一一个所有用例库测试用例都使用的种子

自定义选项:

参数

说明及示例

--lsof

如果lsof命令可用则执行磁盘检查(lsof命令)

--runpytest={inprocess,subprocess}

使用“inprocess”或“subprocess”(python-m main)方法在测试中运行pytest子运行

[pytest]配置文件选项(第一个找到的pytest.ini|tox.ini|setup.cfg文件):

配置选项

说明

markers (行列表)

测试用例函数的标签

empty_parameter_set_mark

空参数集的默认标记(字符串)

norecursedirs (参数)

目录模式避免递归

testpaths (参数)

没有文件或目录时要搜索测试用例的目录,即默认用例目录

console_output_style

控制台输出风格:经典或附加程序(字符串)

usefixtures (参数)  

项目使用的默认测试基线列表

python_files (参数)

python测试模块disco的glob样式文件模式

python_classes (参数)

python测试类discover的前缀或全局名称

python_functions (参数)

python测试函数和方法模块的前缀或全局名称

xfail_strict (bool)

xfail markers whe的严格参数默认值

junit_suite_name (字符串)

JUnit 报告的测试用例集名称

junit_logging (字符串)

将捕获的日志消息中的其中一条写入JUnit报告

junit_duration_report (字符串)

报告持续时间:total或call

junit_family (字符串)

发送XML格式的提纲信息:legacy或xunit1或xunit2

doctest_optionflags (参数)

文档比对测试的选项标记

doctest_encoding (字符串)

文档比对测试使用的文件编码格式

cache_dir (字符串)

缓存文件夹路径

filterwarnings (行列表)

每行指定一个警告模式。

log_print (bool)

默认值,是否打印日志

log_level (字符串)

默认值,日志级别

log_format (字符串)

默认值,日志格式

log_level (字符串)

默认值,日志级别

log_format (字符串)

默认值,日志格式

log_date_format (字符串)

默认值,日期格式

log_cli (bool)

启用测试过程中的日志显示功能

log_cli_level (字符串)

默认值,命令行界面显示的日志级别

log_cli_format (字符串)

默认值,命令行界面默认格式

log_cli_date_format (字符串)

默认值,命令行界面默认日期格式

log_file (字符串)

默认值,日志文件

log_file_level (字符串)

默认值,日志文件级别

log_file_format (字符串)

默认值,日志文件格式

log_file_date_format (字符串)

默认值,日志文件日期格式

addopts (参数)

额外的命令行选项

minversion (字符串)

最低要求的Pytest版本

pytester_example_dir (字符串)

获取pytest用例示例脚本的目录

环境变量:

环境变量

说明

PYTEST_ADDOPTS

额外的命令行选项

PYTEST_PLUGINS

启动时加载的插件,使用逗号分隔

PYTEST_DISABLE_PLUGIN_AUTOLOAD

设置为禁用插件自动加载

PYTEST_DEBUG

设置为启用Pytest内部的调试跟踪

查看可用标记类型:pytest --markers

查看可用的测试基线类型:pytest --fixtures

(shown according to specified file_or_dir or current dir if not specified; fixtures with leading '_' are only shown with the '-v' option

(如果未指定,则根据指定的 file_or_dir 或当前目录显示;带有“_”的标签使用“-V”选项显示)

版权声明

弈心博客


本文首发site_name,转载请附上博文链接!