金融信贷 plot installation 八大员 npm安装vue node卸载命令 grep不是内部命令 mysql卸载重装 mac上传文件到linux windows杀死进程命令 winbox使用教程 lora开发 spring源码下载 plsql连接mysql python for循环 python类 python打开文件 python中re模块 python搭建网站 python处理json文件 python自定义异常 java中的string java基础编程 java学习平台 javafloat java日期格式化 linux入门 linux安装系统 微信小程序提示框 java游戏编程 选项卡 高通cpu排行 红巨人插件 t470拆机 oledbconnection winrar去广告版 快剪辑去水印 ai投影 括号符号大全 鼠标指向宏
当前位置: 首页 > 学习教程  > python

pytest篇2-运行方式和用例执行规则

2021/2/7 9:55:04 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

前言 我们上一篇博客简单介绍了pytest框架,最后也了解了pytest的运行规则如下: 1、测试文件必须以test开头或者以test结尾(test_* /*_test)2、测试类必须以Test开头,并且不能带有__init__方法3、测试函数也必须以tes…

前言

我们上一篇博客简单介绍了pytest框架,最后也了解了pytest的运行规则如下:

  • 1、测试文件必须以test开头或者以test结尾(test_* /*_test)
  • 2、测试类必须以Test开头,并且不能带有__init__方法
  • 3、测试函数也必须以test开头
  • 4、断言与unittest框架里面的不一样,需要使用python自带原生的断言,assert
  • 5、所有的包packege必须要有__init__.py文件

这篇博客我们一起看一下pytest框架写的用例运行方式都有哪些

1、目录层级及代码

CSDN
 - pytestpackage
  -- test_01pytest.py
  -- test_02run.py
  -- test_03test_fun.py

------------------------------------------------------------------------------
**test_01pytest.py**

class TestClassOne:
    def test_pytestone_1(self):
        print('断言成功')
        assert "pass" == "pass"

    def test_pytestone_2(self):
        print('断言失败')
        assert 'pass' == 'failure'
------------------------------------------------------------------------------
**test_02run.py**

class TestClassTwo:
    def test_pytesttwo_1(self):
        print('run断言成功')
        assert "runpass" == "runpass"

    def test_pytesttwo_2(self):
        print('run断言失败')
        assert 'runpass' == 'failure'

------------------------------------------------------------------------------
**test_03test_fun.py**
# 此py模块里的用例没有在类中,模拟下面3.3的用例规则
def test_func():
    assert 'pass' == 'pass'

2、cmd执行pytest用例方式

常见的是第一个执行方式,好记、简单;博主也一般使用第一种方式来执行

  • 1、pytest
  • 2、py.test
  • 3、python -m pytest

3、执行规则

3.1 执行某个目录下的用例

会运行pytestpackage包下所有的用例,会执行五条用例

pytest pytestpackage

3.2 执行模块下的用例

pytest test_01pytest.py

只会运行test_01pytest.py模块下面的两条用例

3.3 运行模块中执行的测试用例(用例不在类中)

test_func 用例不在类中,直接写在py文件中

pytest test_03test_fun.py::test_func

3.4 运行模块中执行的测试用例(用例在类中)

test_pytesttwo_1 用例 在 TestClassTwo 类中

pytest test_02run.py::TestClassTwo::test_pytesttwo_1

3.5 -k 通过关键字表达式来进行测试

这个会执行文件名,类名以及函数名与给定的字符串表达式相匹配的测试用例
会执行 TestMyClass.test_something 但是不会执行TestMyClass.test_method_simple

pytest ‐k "MyClass and not method"

3.6 通过标记来运行测试用例

将运行用@ pytest.mark.slow装饰器修饰的所有测试

pytest -m slow

3.7 通过包来运行

这种方式会导入pkg.testing,并且基于该包所在位置来查找并运行测试用例

pytest --pkg.testing

2.8 pytest -x 遇到错误时,停止运行

用例执行失败后,就会停止运行,不会再运行下面的用例了

pytest -x test_01pytest.py

ps :

1、后续内容继续深入pytest的学习;
2、有什么问题,欢迎大家评论区评论交流!谢谢大家!
3、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !


本文链接: http://www.dtmao.cc/news_show_2000191.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?