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语言表示法中,应是十进制,八进制或者十六 ...
随机推荐
- Azure Command Line (一)入门
一,引言 今天我们讲解一个新的 Azure 的知识,叫 “Azure Command Line”,简称 Azure CLI,具体概念是什么,我这里也不多说了,总结下来,Azure CLI 其实就是 用 ...
- Hitool打开出现failed to create the java virtual machine
今天在安装Hitool后,打开hitool后出现了错误:failed to create the java virtual machine. 解决方法如下: 记事本打开HiTool.ini -star ...
- WordCloud教程(上)
先贴代码: import wordcloud,jieba with open('datas/1.txt') as rt:#,encoding='utf-8' comment_text=rt.read( ...
- (数据科学学习手札94)QGIS+Conda+jupyter玩转Python GIS
本文完整代码及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 QGIS随着近些年的发展,得益于其开源免费 ...
- 洛谷P3817 小A的糖果 贪心思想
一直觉得洛谷的背景故事很....直接题解吧 #include <bits/stdc++.h> //万能头文件 using namespace std; int a[100002]; // ...
- 关于提高服务器的带宽策略bonding
一:bonding的概念 所谓bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容.高可用或者负载均衡. 二:bonding的优势 1 网络负载均衡 2 提高带宽网络传输效 ...
- 基于Log4Net记录日志到SQLServer(自定义字段)
本文记录通过log4net将日志信息记录到SQLServer数据库中. 1.新建控制台应用程序 Log4NetDemo: 2.通过NuGet安装Log4Net (项目版本2.0.8): 3.项目根目录 ...
- Python基础(闭包函数、装饰器、模块和包)
闭包函数 格式: def 函数名1(): def 函数名2(): 变量 = 值 return 变量 return 函数名2 func = 函数名1() key = func()
- ios .framework动态库重签名
真机上运行.framework时,如果报 dyld'dyld_fatal_error:dyld: Library not loaded: @rpath/XX.framework/XX Referenc ...
- Mac本地生成SSHKey的方法
1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除, 也可以直接删除, 2.生成新的秘钥, 命令如下 $ssh-keygen ...