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 xfail\u strict=true-o cache\u 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_ordir or current dir if not specified; fixtures with leading '' are only shown with the '-v' option

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

版权声明

翼安博客


首发 翼安博客,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
Git for windows 修改Home路径(版本号:2.14)
前人留下的网络资料有解决1.9版本的这个问题,但对2.14版本已经不再适用。前人资料:http://www.cnblogs.com/fenpho/p/6208896.htmlhttp://www.cnblogs.com/xunzhiyou/p/5028789.html实际操作后,修改/etc/profile文件后,重新开始GitBash并没有生效。由于Git的默认路径在C:\Users\Admin
496

thinkphp6设置Content-type解决header添加不生效问题
thinkphp6设置Content-type解决header添加不生效问题原生php只需要加入header就可以实现输出各种格式的文件内容,如header("Content-type:text/css");然而,在thinkphp6中却不能生效。response总会自动的将内容以网页的形式输出。即自动添加<html>、<body>等标签,无法达到预期的效果。tp6框架中提
5002

【Gtest(Google Test)帮助手册】en-cn
Gtest官方使用文档英文文档获得方式:框架生成的执行文件,在命令行--help即可获得。中文翻译版本操作文档只对使用Gtest(GoogleTest)开发的测试用例有效。通过命令,你可以使用以下功能:选择测试用例: --gtest_list_tests列出所有的测试用例,但并不执行。代码中的用例TEST(Foo,Bar)显示出的结果是"Foo.Bar".  --gtest_f
2378

每天上班都像上坟一样难受,怎么办?三条妙招让上班像踏青
经常听到身边有些朋友抱怨,说每天上班的心情就想上坟。然而,真是如此么?小编相信,每位上班像上坟的朋友,身边不会缺少这样的朋友:每天上班精神抖擞,很有干劲,心情愉悦就像是来踏青一样。他们是怎么做到的呢?其实,上班不愉快无非就是上班时心情不好,感觉焦虑。要知道,这些都是可以解决的!人的一生,就是适应、利用、创造法则的一生。法则就是自然法则、社会秩序和公司规章制度。最无力的时候只能去学习、适应法则,成长
3186

CSDN-markdown编辑器示意效果
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl+Q插入链接Ctrl+L插入代码Ctrl+K插入图片Ctrl
1429

php开发遇到的Access denied for user
php开发遇到的Accessdeniedforuser'root'@'localhost'(usingpassword:NO)首发:2017-09-2413:44:38环境:CentOS6.5+php5.3.3在php开发过程中,我遇到了一个问题:在命令行中登录Mysql完全正常,然而PHP代码读取数据库却出了问题。报错如下:Accessdeniedforuser'root'@'localhost
3235

Linux环境C C++起Socket Server监听8080端口的代码实现
代码抄录自《UNUX网络编程卷一》,在实现开发环境中调试通过,经测试发现可以正常监听。(2017-09-0621:56:31)开发环境:CentOS,g++,VIM功能:C++实现Socket通信的Server端,实现监听8080端口接收到的消息。#include#include/*SeeNOTES*/#include#include#include#include#include#include
2724

CentOS 系统简易搭建FTP服务(四步足矣)
本文作者之前在CSDN发过(2017-09-0313:09:28),现在入驻本站。网上有很多的FTP搭建步骤,但普遍很繁琐,个人临时使用太麻烦。本次实验使用腾讯云服务器CentOS简易搭建FTP服务器,四行命令足矣完成基本使命。yuminstallvsftpdservicevsftpdstartuseradd-m-d/home/uftp-s/sbin/nologinuftppasswduftp目前
2499

解决修改CSS文件后网页显示不生效问题
刚开始学CSS,HTML+CSS+Div虽说是上个世纪就有产生的发明,但我却不会。不过,不要紧,学就是了。问题是这样的:我编写HTML文件,并调用CSS文件实现布局美化。然后,经常出现明明已经修改过CSS文件但HTML页面却并没有产生变化的现象。怎么办?CSS语法作为初学者,首先想到的时自己写错了。所以查找正确的语法,如这一文章中提到的HTML调用CSS管理、美化div,仔细检查,发现语法是OK的
3279

linux中查看C C++程序或调用其中某个函数(类)消耗内存的方法实现
验证C/C++程序或调用其中某个函数(类)消耗内存的方法:获取进程ID,调用/proc/[pid]/status查看消耗的内存页(4KB/内存页)进程ID获取方法UNIX环境高级编程中提到的getpid(),可以获取。头文件``查看内存信息sprintf(FILE_NAME,"/proc/%d/statm",pid);FILE*fp=fopen(FILE_NAME,"r");fscanf(fp,"
2611

Linux(Android)系统Root实现原理
方案主旨思想是查找系统漏洞,让本身具有root权限的进程执行打开root权限的操作。重烧engboot.img方案Android版本有user版本和eng版本的区别,其中eng版本可以用于开发调试,所以本身可以开启root权限。通过重烧engboot.img版本来获取root权限。这个原理理解起来很简单,原理章节不再详述。死锁问题root需要考虑两个问题:(1)root权限的获取;(2)root权
2989

Ubuntu中Apache2启动失败报错Job for apache2.service failed because the cont...
Ubuntu中Apache2启动失败报错Jobforapache2.servicefailedbecausethecont...为解决这个问题,花了一个下午,参考了120多条网络博文,很有成就感。但实际上是由于一个简单的配置原因导致的问题,希望以后可以更加细心。-最初的现象,php代码没有解析phpinfo输出内容是显然,只是代码,并没有成功解析php代码。事后分析,是Apache2服务的问题。-
3516