pytest运行命令(代码片段)

jane21 jane21     2022-11-28     689

关键词:

1. 第一个(或N个)测试失败后停止

在第一个(N)次失败后停止测试过程:

pytest -x  # 遇到第一个失败时,停止
pytest --maxfail==2  # 遇到第二个失败时,停止

2.指定测试或选择测试

Pytest支持从命令行运行和选择测试的几种方法。

  • 在模块中运行测试
pytest test_mod.py
  • 在目录中运行测试
pytest testing/

目录级运行,即指定运行某一目录下所有测试集(以test_ 开头或者_test结尾的方法或者文件)方式
  • 通过关键字表达式运行测试
pytest -k "MyClass and not method"

注意:执行当前目录下,名字包含MyClass但不包含method的测试用例,所以上面的示例将运行,TestMyClass.test_something 但不会运行TestMyClass.test_method_simple。

  • 按节点ID运行测试

每个收集的测试都分配有一个唯一的nodeid名称,该名称由模块文件名后跟说明符(例如类名,函数名和参数化参数)组成,并用::字符分隔。

要在模块中运行特定的测试,请执行以下操作:

pytest test_file::test_case

test_file,为.py文件

test_case, 为test_file.py中的一个测试用例

在命令行中指定测试方法的另一个示例:命令格式:pytest 文件名.py::测试类::测试方法

pytest test_mod.py::
TestSuite
::test_case
test_case,为TestSuite的成员函数
  • 通过标记表达式运行测试
pytest -m slow
  • 从包运行测试
    • pytest --pyargs pkg.testing
    • 这将导入pkg.testing并使用其文件系统位置来查找并运行测试

3.从Python代码中调用pytest

pytest.main(["-x", "mytestdir"])

注意:调用pytest.main()将导致导入您的测试及其导入的任何模块。由于python导入系统的缓存机制,pytest.main()从同一进程进行后续调用不会反映两次调用之间对这些文件的更改。因此,pytest.main()不建议从同一进程进行多次调用(例如,以重新运行测试)。

 

4.修改Python回溯打印

pytest --showlocals # 打印本地变量
pytest -l           # 打印本地变量

pytest --tb=auto    # 默认模式                 
pytest --tb=long    # 尽可能详细的输出
pytest --tb=short   # 更简短的输出
pytest --tb=line    # 每个失败信息总结在一行中
pytest --tb=native  # Python 标准输出
pytest --tb=no      # 不打印失败信息

--full-trace是一种比--tb=long更详细的输出模式。它甚至能观察到用户打断执行(Ctrl+C)时的回溯信息,而上述六种模式默认是不输出此类信息的。

5.分析测试执行持续时间

要获取最慢的10个测试持续时间的列表:

pytest --durations=10

默认情况下,除非-vv在命令行中传递,否则pytest不会显示太短的测试持续时间(<0.01s)

6.获取版本,选项名称,环境变量

pytest --version   # 获取版本
pytest --fixtures  # 显示可用的内置函数参数
pytest -h | --help # 帮助

7.通过python -m pytest调用pytest

可以从命令行通过Python解释器调用测试:

python -m pytest [...]
但是,这和直接执行pytest [...]命令的效果几乎是一模一样

45-pytest-pytest.main()使用(代码片段)

pytest.main使用前言pytest.main()参数运行指定测试用例指定plugins参数前言前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例pytest.main()args传一个list对象,list里面是多个命令行的参数plugins传一个list... 查看详情

pytest_02-用例运行规则(代码片段)

...的方法所有的包pakege必须要有__init__.py文件help帮助1.查看pytest命令行参数,可以用pytest-h或pytest--help查看C:Usersadmin>pytest-husage:pytest[options][file_or_dir][fi 查看详情

pytest基础(代码片段)

文章目录一、pytest简介二、基本功能三、运行一、pytest简介Pytest是一个测试框架,其将测试常用的内容都包含进来了,如生成测试报告、生成覆盖率报告等。而且Pytest提供插件功能,很多开发人员可以通过开发Pytest插件来扩展Pyt... 查看详情

pytest进阶之配置文件(代码片段)

前言  pytest配置文件能够改变pytest框架代码的运行规则。比如修改pytest收集用例的规则,添加命令行参数等等!下面我们来一一讲解常用的一些配置项Help通过命令pytest--help查看配置文件中可以添加的一些参数及选项,这些选... 查看详情

pytest安装和入门(代码片段)

安装pytest1、在命令行中运行以下命令:pipinstall-Upytest2、检查已经安装的版本:pytest--versionThisispytestversion3.7.2,importedfromc:python27libsite-packagespytest.pyc创建第一个测试用例使用四行代码创建一个简单的测试函数: #contentoftest_sample... 查看详情

pytest权威教程25-配置(代码片段)

...otdir如何更改命令行选项默认值内置的配置文件选项返回:Pytest权威教程配置命令行选项和配置文件设置你可以使用常规帮助选项获取有关INI选项配置文件中命令行选项和值的帮助:pytest-h#printsoptions_and_configfilesettings这将显示已安... 查看详情

pytest之收集用例及命令行参数(代码片段)

在上一篇Pytest系列文章:Pytest之基本介绍,主要介绍Pytest特点、安装配置及简单运行。以下主要介绍:Pytest的用例收集规则及命令行参数详解。一、用例收集1、用例收集规则从一个或者多个目录开始查找,你可以... 查看详情

pytest基础(代码片段)

文章目录一、pytest简介二、基本功能三、运行一、pytest简介Pytest是一个测试框架,其将测试常用的内容都包含进来了,如生成测试报告、生成覆盖率报告等。而且Pytest提供插件功能,很多开发人员可以通过开发Pytest插件来扩展Pyt... 查看详情

pytest框架(代码片段)

1、介绍Pytest是Python实现的一个测试工具,可以用于所有类型和级别的软件测试Pytest是一个可以自动查找到编写的测试用例并运行输出结果的测试框架Pytest的特点:是一个命令行工具,编写用例简单,可读性强非常容易上手,入... 查看详情

一篇教程精通pytest(代码片段)

目录黑盒与白盒什么是自动化测试pytest特点pytest命名规则pytest的运行方式main函数方式:命令行方式-n并行运行nodeid的方式:pytest.ini配置文件运行方式失败用例重跑pytest调整用例执行顺序跳过执行测试用例生成测试报告黑... 查看详情

pytest02-用法和调用(代码片段)

通过python-mpytest调用pytest通过python解释器,在命令行执行:python-mpytestXXXX.py几乎等同于直接pytestXXXX.py,除了通过python会将当前目录添加到sys.path中。有可能会遇到的退出码运行pytest可能会导致六个不同的退出码:退出码0:所有测... 查看详情

pytest文档3-pycharm运行pytest(代码片段)

前言上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行py... 查看详情

pytest-26-运行上次失败用例(--lf和--ff)(代码片段)

...分用例失败了,修复完之后,可以只测上次失败的用例。pytest-h命令行输入pytest-h,找到里面两个命令行参数:--lf和--ff--lf,--last-failed只重新运行上次运行失败的用例(或如果没有失败的话会全部跑)--ff,--failed-first运行所有测试... 查看详情

[pytest+selenium]selenium快速入门(代码片段)

...rome为例)4.运行一个简单的例子使用SeleniumIDE录制脚本使用pytest并生成报告安装pytest安装pytest-html运行脚本并生成报告进阶:读取excel,作为测试用例的数据安装xlrd插件读取excel进阶:分布式运行测试用例安装执行Q&A安装环境并... 查看详情

pytest_03_pycharm运行pytest(转:上海悠悠)(代码片段)

前言上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行py... 查看详情

pytest.11.生成xml格式的测试报告(代码片段)

From:http://www.testclass.net/pytest/report/pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的。然而我们在运行用例后经常会需要将测试结果广而告之,发送给相关责任人浏览,所以生成简洁美观的测试报告是很有必... 查看详情

38-pytest-命令行中-o参数使用(代码片段)

命令行中-o参数使用前言-opytest.ini测试case前言本篇来学习pytest命令行中-o参数的使用,-o参数的作用是覆盖pytest.ini配置文件中的参数-o作用:覆盖pytest.ini配置文件中的参数pytest.ini[pytest]addopts=-v-x测试case#-*-coding:utf-8一*-#... 查看详情

pytest框架(代码片段)

pytest框架规则测试文件以test_开头或者以_test结尾测试类以Test开头,并且不能带有init方法测试函数以test_开头断言使用assertpytest框架运行用例运行单个文件运行多个文件运行整个目录importpytestif__name__=="__main__":#运行单个文... 查看详情