pytest(3):pytest运行参数介绍
前言
pytest 带有很多参数,可以使用 pytest --help 来查看帮助文档,下面介绍几种常用的参数:
无参数
读取路径下所有符合规则的文件,类,方法,函数全部执行。使用方法如下:
pytest 或者 py.test
-v 参数
打印详细运行日志信息,一般在调试的时候加上这个参数,终端会打印出每条用例的详细日志信息,方便定位问题。使用方法如下:
pytest -v
不加-v不加-v的对比:

-s 参数
带控制台输出结果,当你的代码里面有 print 输出语句,如果想在运行结果中打印 print 输出的代码,在运行的时候可以添加 -s 参数,一般在调试的时候使用,使用方法如下: pytest -s

-k 参数
跳过运行某个或者某些用例。
使用方法如下:
pytest -k '类名'
pytest -k '方法名'
pytest -k "类名 and not 方法名" //运行类里所有的方法,不包含某个方法
# Author xuejie zeng
# encoding utf-8
#测试demo import pytest class Testone:
def test_a(self):
print("我是第一条用例")
def test_b(self):
print("我是第二条用例")
def c(self):
print("c") class Testtwo:
def test_d(self):
print("我是第三条用例")
pytest -k '类名',运行指定的类名下的用例

pytest -k '方法名',运行指定的用例

pytest -k "类名 and not 方法名" ,只运行了类里面的第二条用例,不包括第一条用例。

-x 参数
遇到用例失败立即停止运行,一旦发现有失败的用例即中止运行
使用方法如下:
pytest -x
# Author xuejie zeng
# encoding utf-8 class Testone:
def test_a(self):
print("我是第一条用例")
a = 1
b = 2
assert a == b
def test_b(self):
print("我是第二条用例")
a = 1
b = 1
assert a == b
def c(self):
print("c") class Testtwo:
def test_d(self):
print("我是第三条用例")
a = 10
b = 20
assert a != b

用例遍历到了3条,但是由于第一条就失败了所有后面的2条就不执行了。
--maxfail 参数
用例失败个数达到阀值停止运行。具体用法:
pytest --maxfail=[num] 当失败数等于设置的阈值时,后面的2条用例就不执行了。
(venv) D:\Tools\pycharm_2020\New_2020\pytest_doc\test>pytest --maxfail=1 testdemo.py
collected 3 items testdemo.py F ======================================================================== FAILURES ========================================================================
_____________________________________________________________________ Testone.test_a _____________________________________________________________________ self = <pytest_doc.test.testdemo.Testone object at 0x000001AEB0EB0EB8> def test_a(self):
print("我是第一条用例")
a = 1
b = 2
> assert a == b
E assert 1 == 2 testdemo.py:12: AssertionError
------------------------------------------------------------------ Captured stdout call ------------------------------------------------------------------
我是第一条用例
================================================================ short test summary info =================================================================
FAILED testdemo.py::Testone::test_a - assert 1 == 2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
=================================================================== 1 failed in 0.05s ====================================================================
当失败数小于设置的阈值时,后面的2条用例继续执行。
(venv) D:\Tools\pycharm_2020\New_2020\pytest_doc\test>pytest --maxfail=2 testdemo.py
collected 3 items testdemo.py F.. [100%] ======================================================================== FAILURES ========================================================================
_____________________________________________________________________ Testone.test_a _____________________________________________________________________ self = <pytest_doc.test.testdemo.Testone object at 0x000001DD0EADFEF0> def test_a(self):
print("我是第一条用例")
a = 1
b = 2
> assert a == b
E assert 1 == 2 testdemo.py:12: AssertionError
------------------------------------------------------------------ Captured stdout call ------------------------------------------------------------------
我是第一条用例
================================================================ short test summary info =================================================================
FAILED testdemo.py::Testone::test_a - assert 1 == 2
============================================================== 1 failed, 2 passed in 0.05s ===============================================================
-m 参数
将运行有 @pytest.mark.[标记名] 这个标记的测试用例。
使用方法如下:
pytest -m [标记名]
# Author xuejie zeng
# encoding utf-8 import pytest class Testone:
def test_a(self):
print("我是第一条用例")
a = 1
b = 2
assert a == b
def test_b(self):
print("我是第二条用例")
a = 1
b = 1
assert a == b class Testtwo:
@pytest.mark.d
def test_d(self):
print("我是第三条用例")
a = 10
b = 20
assert a != b

用例遍历到了3条用例,2条被忽略,1条被选中,也就是加了标记的被选中了。
可以关注个人公众号:测试开发进阶之路

pytest(3):pytest运行参数介绍的更多相关文章
- pytest 入门及运行
关于pytest的入门教程,官网及网上已经很多了,那再多一点也无所谓吧!OK,进入正题~ 下面是一个测试用例,test_one.py def test_passing(): assert (1, ...
- IntelliJ IDEA设置JVM运行参数
2015十一月 28 原 IntelliJ IDEA设置JVM运行参数 分类:JavaSE (11566) (1) 打开 IDEA 安装目录,看到有一个 bin 目录,其中有两个 vmoptions ...
- SQLMAP参数介绍
转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:p ...
- JVM 内部运行线程介绍
转(http://club.alibabatech.org/article_detail.htm?articleId=4) JVM 内部运行线程介绍 作者:蒋家佳/觉梦(支付宝开发工程师) 浏览量: ...
- G++ 参数介绍(转载)
g++参数介绍 From: http://www.cnblogs.com/lidan/archive/2011/05/25/2239517.html gcc and g++分别是gnu的c & ...
- Spark on YARN两种运行模式介绍
本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发) 问题导读 1.Spark ...
- 【体系结构】Oracle参数介绍
[体系结构]Oracle参数介绍 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩ ...
- Apache中 RewriteRule 规则参数介绍
Apache中 RewriteRule 规则参数介绍 摘要: Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.它支持每个完整规则可以拥有不限数量 ...
- Linux 启动参数介绍
Linux 启动参数介绍 取自2.6.18 kernel Documentation/i386/boot.txt 文件中介绍 vga= 这里的不是一个整数(在C语言表示法中,应是十进制,八进制或者十六 ...
随机推荐
- 03 Arduino-模拟输出与PWM的操作方法
在arduino开发板上面,标注为PWM的管脚的可以被当作数模转换管脚使用 01 模拟输出 analogWrite(pin, value) pin: 选定的引脚号码 value:取值范围 0-25 ...
- 《Windows程序设计(第5版 珍藏版)》配书光盘
https://pan.baidu.com/s/1ro72qQja_xTbf-Ik8b06Ng
- Linux中su和su -区别,别再傻傻分不清
写在前面 如果你不清楚su和su -切换用户的区别,你一定会遇到在使用su切换用户执行命令出现报错"command not found"感到惊讶.分明之前这个指令执行的好好的,为什 ...
- SpringCloude简记_part3
18. SpringCloud Alibaba Sentinel实现熔断与限流 18.1 Sentiel 官网 https://github.com/alibaba/Sentinel 中文 https ...
- 安装pyspider报错:ERROR: Complete output from command python setup.py egg_info:...
正在学习pyspider框架,安装过程并不顺利,随即百度了一下解决了问题,将解决方法记录备用 问题描述: 首先出现 pip版本低,根据提示升级即可 再次安装报错如下 解决过程: 第一步:首先安装wh ...
- HYSBZ-1045 糖果传递
有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. 假设当所有人获得均等的糖果的时候: 每个人手上的糖果的数量为\(ave\) 第\(i\)个人初始时的 ...
- latex三种标准文类book, report, article的章节命令与层次深度
Latex有三种标准文类:book, report, article. 每种文类的章节命令和层次深度如下: 三种标准文类的章节命令与层次深度 层次深度 层次名 book report article ...
- 6. 二十不惑,ObjectMapper使用也不再迷惑
一滴水,用显微镜看,也是一个大世界.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...
- Java数据结构——双端队列
双端队列(Deque)双端队列是指允许两端都可以进行入队和出队操作的队列,其元素的逻辑结构仍是线性结构.将队列的两端分别称为前端和后端,两端都可以入队和出队.Deque继承自Queue接口,Deque ...
- 机器学习 | 深入SVM原理及模型推导(一)
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第32篇文章,我们来聊聊SVM. SVM模型大家可能非常熟悉,可能都知道它是面试的常客,经常被问到.它最早诞生于上世纪六 ...