首页 > 其他 > 详细

pytest之pytest-dependency设置用例依赖关系

时间:2021-07-28 14:23:45      阅读:20      评论:0      收藏:0      [点我收藏+]

前言

  • 这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了 pytest.mark.skip 
  • dependency可作用的范围有:sessionpackagemoduleclass
  • 安装 pip install pytest-dependency 
  • 官方示例:pytest-dependenc

基本用法

在TestCase类下面编写的用例:

  • 首先在用例开始的位置打上一个装饰器 @pytest.mark.dependency() ,这是代表这条用例作为主条件,如果这条用例失败,关联它的用例会跳过执行。
  • 在被关联的用例上,也打上带参数的装饰器@pytest.mark.dependency()depends接受的参数是关联的依赖用例名。
  • depends也可以用别名的方式指定用例名。

Test类下实现方式【通过指定测试类下面的测试用例方法(相当于使用nodeid的方式)】

技术分享图片

运行结果:

技术分享图片

函数下实现方式【通过指定需要依赖的测试方法】

技术分享图片

通过别名指定方式【通过为指定的依赖设置依赖名name】

技术分享图片

定义依赖范围

官方API详解

我们可以看到scope可接受四种参数定义的类型(‘session‘,‘package‘,‘module‘或‘class‘)

技术分享图片

scope=‘class‘

  • 作用于所属的类,外部类不会被关联

技术分享图片

运行结果:

技术分享图片

scope=‘module‘

  • 不传递scope参数即默认参数是‘module‘,作用于当前文件
  • 只会查找当前文件的符合条件的文件名,类里同名的方法不会被依赖

技术分享图片

运行结果:

技术分享图片

scope=‘package‘

  • 作用于当前目录同级的依赖函数,跨目录无法找到依赖的函数。

技术分享图片

运行结果:

技术分享图片

scope=‘session‘

  • 作用域全局,可跨目录调用。但被依赖的用例必须先执行,如例子中的test01,否则用例会执行跳过!!!!

技术分享图片

 运行结果:

技术分享图片

pytest之pytest-dependency设置用例依赖关系

原文:https://www.cnblogs.com/hls-code/p/15069987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!