pytest实践日志二

之前一直知道各个作用域,class、module、package、session,具体的针对各个作用域的词应用到实际的项目目录中是指那些,还是有一些模糊,直到,今天学习了@pytest.mark.dependency()的用法才有了一个具体的概念
1、一个class就是指当前定义内的一个类,通过间隔和缩进判断,一个类的起点和结束位置,如下图:
在这里插入图片描述

2、一个module就是一个xx.py文件,一个py文件内部可以定义很多个类和方法,py文件的名称与类和方法名称没有关系,可以在一个模块中定义很多个方法和类,但是在另外一个.py文件中使用时,需要用模块名.方法名,或者模块名.类名的方式引用,如下图
在这里插入图片描述

3、一个package就是一个python包,在pycharm中显示为一个圈,创建一个package时,自动会在包下创建一个__init__.py文件,内容为空,可以写一些定义,也可以直接为空, 但是执行包内的test_xx.py文件时,默认会首先先执行包内的__init__.py,如下图:
在这里插入图片描述
4、最后就是一个session,默认情况下是指一个整个项目,可以直接在一个包上一次执行pytest in packageName,也可以自己在整个项目上执行,如下图:在这里插入图片描述
在这里插入图片描述

@pytest.mark.dependency()用法

其实之前学习过testng等框架,基本都是测试用例的依赖关系都是只需要在依赖函数上写一个说明就行了,但是在pytest中,既要在依赖函数上标记,又要在被依赖的函数上标记,确实不一样,这点有点意外,不过pytest这样设备确实还是很强大,毕竟要照顾到各个作用域的依赖关系,下面就来了解一下它的用法:
这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了pytest.mark.skip
dependency可作用的范围有:session、package、module、class

默认情况下@pytest.mark.dependency()内部的参数有三个,name、scope、denpens
不传递scope,默认参数是’module’,作用于当前文件,这个也是最常见的,我们只需要这个依赖关系在当前的py文件中不重名,就可以正常使用,后续再详细介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值