前言

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. github渗透测试工具库

    本文作者:Yunying 原文链接:https://www.cnblogs.com/BOHB-yunying/p/11856178.html 导航: 2.漏洞练习平台 WebGoat漏洞练习平台: h ...

  2. 装机备忘录:VS Code 常用插件

    VS Code 常用插件推荐 1.基本的代码补全 2.git 扩展工具,可以看到代码的每一行 是谁修改?什么时候修改? 修改的版本号? 修改的注释? 非常好的一个工具 3.括号颜色改变工具,可以改变括 ...

  3. Promise.then返回的是什么?

    console.log((function cook(){ console.log('开始做饭.'); var p = new Promise(function(resolve, reject){ / ...

  4. 【算法•日更•第五十期】二分图(km算法)

    ▎前言 戳开这个链接看看,惊不惊喜,意不意外?传送门. 没想到我的博客竟然被别人据为己有了,还没办法投诉. 这年头写个博客太难了~~~ 之前小编写过了二分图的一些基础知识和匈牙利算法,今天来讲一讲km ...

  5. 实战分享丨MySQL 与Django版本匹配相关经验

    摘要:关于MySQL 与Django版本匹配相关知识的经验分享. run: (env) E:\PythonPro\PyDjangoProDemo011\xuanyuaniotpro>python ...

  6. python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

    本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...

  7. 从零开始讲解JavaScript中作用域链的概念及用途

    从零开始讲解JavaScript中作用域链的概念及用途 引言 正文 一.执行环境 二.作用域链 三.块级作用域 四.其他情况 五.总结 结束语 引言 先点赞,再看博客,顺手可以点个关注. 微信公众号搜 ...

  8. Linux C++向josn文件写入字符串

    对C++了解的不多,我的需求是往JSON文件里写入字符串,这种方式不需要用开源的库,直接写文件就可以.附上代码需要包含studio.h头文件以计fstream long a=123456; char ...

  9. leetcode刷题记录——哈希表

    1.两数之和 可以先对数组进行排序,然后使用双指针方法或者二分查找方法.这样做的时间复杂度为 O(NlogN),空间复杂度为 O(1). 用 HashMap 存储数组元素和索引的映射,在访问到 num ...

  10. 8.hbase写入流程和读取流程

    1 hbase写入流程 hbase中无论是新增数据还是修改已有行,其内部流程都是一样的,hbase执行写入时会写到两个地方,write-ahead log 简称wal 也叫hlog 预写式日志 和 M ...