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语言表示法中,应是十进制,八进制或者十六 ...
随机推荐
- 使用 VMware Workstation Pro 让 PC 提供云桌面服务——学习笔记(二)
实验效果: 这次希望的效果是能够用远程桌面来实现 . 这里参考了博客 https://www.cnblogs.com/wwang/archive/2011/01/06/1928933.html 操作步 ...
- 面试中的老大难-mysql事务和锁,一次性讲清楚!
众所周知,事务和锁是mysql中非常重要功能,同时也是面试的重点和难点.本文会详细介绍事务和锁的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁有更加深入的理解. 本文主要内容是根据掘金小册& ...
- 数据库迁移神器——Flyway
不知道你有没有遇到过这种场景,一套代码部署在不同的环境中,随着时间的过去,各个环境代码有版本差异,代码层面可以通过不同的版本来控制,但是数据库层面经常容易忘记更新! 前言 比如刚开始环境 A 和环境 ...
- python对端口进行扫描
使用cocket模块配合多线程对端口进行扫描,后续功能正在思考ing. import socket from multiprocessing.dummy import Pool as ThreadPo ...
- Golang Gtk+3教程:开始
GTK+是一个控件工具包.每个通过GTK+创建的用户界面由一些控件组成. 控件是层级式的,window控件是主容器,通过在window中添加按钮.下拉菜单.输入字段等其他控件构成用户界面. 如果是复杂 ...
- Python | 浅谈并发锁与死锁问题
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第24篇文章,我们一起来聊聊多线程场景当中不可或缺的另外一个部分--锁. 如果你学过操作系统,那么对于锁应该不陌生. ...
- 当Notification和Websocket遇到https、http
@ 目录 一.http转为https请求 (1)生成证书1(crt证书转tomcat使用的jks) (2)配置证书1 (3)生成证书2 (4)配置证书2 二.Websocket改为https连接 后言 ...
- Hive中的用户自定义函数
1.1 关于自定义函数 1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展. 2)当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考 ...
- 仿京东BOE官网 css代码
* { margin: 0; padding: 0; border: 0; list-style: none; } .box { width: 1518px; height: 1300px; marg ...
- 利用JavaScript当鼠标点击导航时改变背景
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...