Pytest如何使用skip跳过执行测试


Posted in Python onAugust 13, 2020

1、@pytest.mark.skip(reason=" ") -- 跳过执行测试函数

可传入一个非必须参数reason表示原因

import pytest
@pytest.mark.skip(reason="no reason")
def test_01():
  print("---用例a执行---")
class TestCase():
  @pytest.mark.skip(reason="no reason")
  def test_02(self):
    print("---用例b执行---")

  def test_03(self):
    print("---用例c执行---")

输出结果:

test_fixture2.py ss---用例c执行---

2、@pytest.mark.skipif(condition...) -- 若满足condition,则跳过测试函数

传入condition参数为判断条件,可以选择传入非必须参数reason;如果多个标签一起使用,满足其中一个跳过条件则会跳过该测试函数。

import pytest
def test_01():
  print("---用例a执行---")
class TestCase():
  #当多个@pytest.mark.skipif()标签时,若满足一个,则跳过测试函数
  @pytest.mark.skipif(condition='a' >= 'b', reason="no reason")
  @pytest.mark.skipif(condition='a' <= 'b', reason="no reason")
  def test_02(self):
    print("---用例b执行---")

  def test_03(self):
    print("---用例c执行---")

输出结果:

test_fixture2.py ---用例a执行---
.s---用例c执行---

3、自定义@pytest.mark.skip()标签

myskip = pytest.mark.skip() 或 myskip = pytest.mark.skipif(condition=...)

装饰时用该变量代替标签即可:@myskip

import pytest
# myskip = pytest.mark.skip()
myskip = pytest.mark.skipif(condition=2>1, reason="no reason")

@myskip
def test_01():
  print("---用例a执行---")

class TestCase():

  @myskip
  def test_02(self):
    print("---用例b执行---")

  def test_03(self):
    print("---用例c执行---")

输出结果:

test_fixture2.py ss---用例c执行---

4、通过pytest.skip()方法跳过测试函数

import pytest

def test_01():
  pytest.skip(msg="no reason")
  print("---用例a执行---")

class TestCase():

  def test_02(self):
    pytest.skip()
    print("---用例b执行---")

  def test_03(self):
    print("---用例c执行---")

输出结果:

test_fixture2.py ss---用例c执行--

5、跳过测试类

跳过测试类其实和跳过测试方法一样,使用@pytest.mark.skip()和@pytest.mark.skipif()两个标签,用他们装饰测试类就好啦。

import pytest
myskip = pytest.mark.skip(reason="no reason")
def test_01():
  print("---用例a执行---")
@myskip
class TestCase():
  def test_02(self):
    print("---用例b执行---")
  def test_03(self):
    print("---用例c执行---")

输出结果:

test_fixture2.py ---用例a执行---

6、跳过模块

使用pytestmark(不可更改变量名)变量,让他等于标签即可。

import pytest

pytestmark = pytest.mark.skip(condition=2>1, reason='no reason')

def test_01():
  print("---用例a执行---")

class TestCase():

  def test_02(self):
    print("---用例b执行---")

  def test_03(self):
    print("---用例c执行---")

输出结果:

test_fixture2.py sss

7、pycharm中运行多个测试文件

依次将要运行的文件名写在后面即可,用逗号隔开,无需链表元组等形式。

if __name__ == "__main__":
  pytest.main(['-s', 'test_fixture1.py', 'test_fixture2.py'])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
python实现多线程的两种方式
May 22 Python
python直接访问私有属性的简单方法
Jul 25 Python
Python内置函数 next的具体使用方法
Nov 24 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
在pycharm中设置显示行数的方法
Jan 16 Python
python实现贪吃蛇小游戏
Mar 21 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
PyCharm第一次安装及使用教程
Jan 08 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
Python pip install之SSL异常处理操作
Sep 03 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 #Python
Python logging模块原理解析及应用
Aug 13 #Python
matplotlib基础绘图命令之imshow的使用
Aug 13 #Python
使用jupyter notebook运行python和R的步骤
Aug 13 #Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 #Python
Python如何读写CSV文件
Aug 13 #Python
区分python中的进程与线程
Aug 13 #Python
You might like
PHP学习资料汇总与网址
2007/03/16 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
php无限极分类实现方法分析
2019/07/04 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
loading动画特效小结
2017/01/22 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
Python实现批量读取word中表格信息的方法
2015/07/30 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python 操作hive pyhs2方式
2019/12/21 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
Python如何给你的程序做性能测试
2020/07/29 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
求职简历中个人的自我评价
2013/12/01 职场文书
给医务人员表扬信
2014/01/12 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
开展读书活动总结
2014/06/30 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
高中班长竞选稿
2015/11/20 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server