pytest 用例依赖
1、前言
- 这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了
pytest.mark.skip
- dependency可作用的范围有:
session
、package
、module
、class
- 安装pip install pytest-dependency
- 官方示例:pytest-dependency
2、基本用法
- 下面的实现方式是简单的实现,高级用法可以查看官方文档
- 以下方式是在TestCase类下面编写的用例
- 首先我们需要在用例开始的位置打上一个装饰器
@pytest.mark.dependency()
,这是代表这条用例作为主条件,如果这条用例失败,关联它的用例会跳过执行。 - 在被关联的用例上,也打上带参数的装饰器
@pytest.mark.dependency()
,depends
接受的参数是关联的依赖用例名。 - 在
depends
也可以用别名的方式指定用例名。
2|1Test类下实现方式
2|2函数下实现方式
2|3通过别名指定方式
3、定义依赖范围
官方api详解
我们可以看到scope可接受四种参数定义的类型('session','package','module'或'class')
scope='class'
- 作用于所属的类,外部类不会被关联
scope='module'
- 不传递scope,默认参数是'module',作用于当前文件
- 只会查找当前文件的符合条件的文件名,类里同名的方法不会被依赖
scope='package'
- 作用于当前目录同级的依赖函数,跨目录无法找到依赖的函数。
scope='session'
- 作用域全局,可跨目录调用。但被依赖的用例必须先执行,如例子中的test01,否则用例会执行跳过!!!!
原文链接:
https://www.cnblogs.com/se7enjean/p/13513131.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?