文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

pytest用例执行顺序和跳过执行详解

2023-02-07 12:02

关注

1.py文件的执行顺序

pytest默认按字母顺序去执行的(小写英文--->大写英文--->0-9数字)

setup_module->setup_claas->setup_function->testcase->teardown_function->teardown_claas->teardown_module

1)文件之间按照ASCLL码排序

2)文件内默认按照从上到下进行执行

文件内的用例按照从上往下执行。

2. 改变用例的执行顺序 -装饰器@pytest.mark.run(order=x)

@pytest.mark.run(order=x) 需要pip install pytest-ordering

@pytest.mark.run(order=x)

# x是整数(可以是正数也可以是负数)

# 全为正数或负数时,值越小,优先级越高

# 既有正数又有负数时,正数优先级高(-1,2,-3的执行顺序是2,-3,-1)

# 0是正整数中最小的,优先级最高

@pytest.mark.run(order=0)

# 两个0是,就按照正常顺序执行

已经改变了用例执行规则,针对于是全局的,会先执行完@pytest.mark.run(order=1)才会执行order=2的用例

其实总体来说,这个插件的实用场景不是很多,如果需要指定某个用例第一个执行和最后执行,可以用该插件实现。

如果要按照你指定的顺序执行下去,需要在每个用例前都加上@pytest.mark.run(order=1),其中order中的数字需递增。

 

方式一

方式二

方式三

第一个执行

:@ pytest.mark.first

:@ pytest.mark.run('first')

:@ pytest.mark.run(order=1)

第二个执行

:@ pytest.mark.second

:@ pytest.mark.run('second')

:@ pytest.mark.run(order=2)

倒数第二个执行

:@ pytest.mark.second_to_last

:@ pytest.mark.run('second_to_last')

:@ pytest.mark.run(order=-2)

最后一个执行

:@pytest.mark.last

:@ pytest.mark.run('last')

:@ pytest.mark.run(order=-1)

3. 分组执行用例

在工作中有的时候我们并不需要执行所有用例,所以就会用到分组执行啦。

这里同样也要用到装饰器@pytest.mark

1)在pytest.ini中配置分组

[pytest]
markers=g1
g2

这个设置的作用就是标记用例进行分组

2)测试用例加入标记

3)运行用例

需要输入pytest -m '分组名'

4) 多个分组用例运行需要用or进行连接

5)运行除标记外的用例

pytest.main(['-vs', 'zmytest/test_order.py', '-m', "not g2 and not g1"])

4. pytest跳过测试用例

pytest.mark.skip:跳过用例执行

跳过执行,跳过分为有条件跳过和无条件跳过

1、无条件跳过

@pytest.mark.skip(reason="XXX")

2、有条件跳过

@pytest.mark.skipif(age>=18,reason='已成年')

1)无条件跳过

@pytest.mark.skip(reason="XXX")
@pytest.mark.skip

2)有条件跳过

@pytest.mark.skipif(条件,reason='')这个方法就是当满足条件时跳过被标记的用例,什么是被标记?就是这个装饰器下面的第一条用例

 到此这篇关于pytest用例执行顺序和跳过执行详解的文章就介绍到这了,更多相关pytest用例执行顺序和跳过执行内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯