前言

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运行参数介绍的更多相关文章

  1. pytest 入门及运行

    关于pytest的入门教程,官网及网上已经很多了,那再多一点也无所谓吧!OK,进入正题~ 下面是一个测试用例,test_one.py def test_passing():    assert (1, ...

  2. IntelliJ IDEA设置JVM运行参数

    2015十一月 28 原 IntelliJ IDEA设置JVM运行参数 分类:JavaSE (11566) (1) 打开 IDEA 安装目录,看到有一个 bin 目录,其中有两个 vmoptions ...

  3. SQLMAP参数介绍

    转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:p ...

  4. JVM 内部运行线程介绍

    转(http://club.alibabatech.org/article_detail.htm?articleId=4) JVM 内部运行线程介绍 作者:蒋家佳/觉梦(支付宝开发工程师) 浏览量: ...

  5. G++ 参数介绍(转载)

    g++参数介绍 From: http://www.cnblogs.com/lidan/archive/2011/05/25/2239517.html gcc and g++分别是gnu的c & ...

  6. Spark on YARN两种运行模式介绍

    本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark ...

  7. 【体系结构】Oracle参数介绍

    [体系结构]Oracle参数介绍 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩ ...

  8. Apache中 RewriteRule 规则参数介绍

    Apache中 RewriteRule 规则参数介绍 摘要: Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.它支持每个完整规则可以拥有不限数量 ...

  9. Linux 启动参数介绍

    Linux 启动参数介绍 取自2.6.18 kernel Documentation/i386/boot.txt 文件中介绍 vga= 这里的不是一个整数(在C语言表示法中,应是十进制,八进制或者十六 ...

随机推荐

  1. Azure Command Line (一)入门

    一,引言 今天我们讲解一个新的 Azure 的知识,叫 “Azure Command Line”,简称 Azure CLI,具体概念是什么,我这里也不多说了,总结下来,Azure CLI 其实就是 用 ...

  2. Hitool打开出现failed to create the java virtual machine

    今天在安装Hitool后,打开hitool后出现了错误:failed to create the java virtual machine. 解决方法如下: 记事本打开HiTool.ini -star ...

  3. WordCloud教程(上)

    先贴代码: import wordcloud,jieba with open('datas/1.txt') as rt:#,encoding='utf-8' comment_text=rt.read( ...

  4. (数据科学学习手札94)QGIS+Conda+jupyter玩转Python GIS

    本文完整代码及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 QGIS随着近些年的发展,得益于其开源免费 ...

  5. 洛谷P3817 小A的糖果 贪心思想

    一直觉得洛谷的背景故事很....直接题解吧 #include <bits/stdc++.h> //万能头文件 using namespace std; int a[100002]; // ...

  6. 关于提高服务器的带宽策略bonding

    一:bonding的概念 所谓bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容.高可用或者负载均衡. 二:bonding的优势 1 网络负载均衡 2 提高带宽网络传输效 ...

  7. 基于Log4Net记录日志到SQLServer(自定义字段)

    本文记录通过log4net将日志信息记录到SQLServer数据库中. 1.新建控制台应用程序 Log4NetDemo: 2.通过NuGet安装Log4Net (项目版本2.0.8): 3.项目根目录 ...

  8. Python基础(闭包函数、装饰器、模块和包)

    闭包函数 格式: def 函数名1(): def 函数名2(): 变量 = 值 return 变量 return 函数名2 func = 函数名1() key = func()

  9. ios .framework动态库重签名

    真机上运行.framework时,如果报 dyld'dyld_fatal_error:dyld: Library not loaded: @rpath/XX.framework/XX Referenc ...

  10. Mac本地生成SSHKey的方法

    1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除,   也可以直接删除, 2.生成新的秘钥, 命令如下 $ssh-keygen ...