news 2026/2/2 9:15:30

Pytest参数详解 — 基于命令行模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pytest参数详解 — 基于命令行模式

1、--collect-only

查看在给定的配置下哪些测试用例会被执行

2、-k

使用表达式来指定希望运行的测试用例。如果测试名是唯一的或者多个测试名的前缀或者后缀相同,可以使用表达式来快速定位,例如:

命令行-k参数.png

3、-m

标记(marker)用于标记测试并且分组,以便快速选中并运行。使用 @pytest.mark 来标记。

  • 可以使用 -m "mark1 and mark2" 同时选中贷有这两个标记的所有测试用例。
  • 使用 -m "mark1 and not mark2" 则会选中有mark1的测试用例,而过滤掉 mark2 的测试用例。
  • 使用 -m "mark1 or mark2" 选中带有 mark1 或者 mark2 的所有测试用例

4、-x

正常情况下 pytest 会运行每一个搜集到的测试用例。如果某个测试用例断言失败,或者触发了异常,那么该测试用例的运行就会到此停止。pytest 会将其标记为失败后继续运行下一个测试用例。但是在 debug 时,如果需要遇到失败立即停止整个会话可以加上 -x。调试完成后可以去掉 -x,可以使用 -tb=no 关闭错误信息回溯。

5、--maxfail=num

-x 是遇到失败就停止运行,而 --maxfail 则可以指定允许失败几次,达到最大失败次数以后停止运行

6、-s 与 --capture=method

-s 等价于 --capture=no ,关闭了输出捕获。正常情况下,任何符合标准的输出流信息都会被捕获。--capture=fd 时,若文件描述符(file descriptor)为1或者2,则会被输出至临时文件中。使用 --capture=sys 时sys.stdout/stderr 将会被输出至内存。

7、-l/--showlocals

在测试失败时会打印出局部变量名和他们的值以避免不必要的 print 语句

8、--if/--ff

当一个或者多个测试用例失败时,如果希望定位到最后一个失败的用例重新运行,可以使用 --lf。--ff 与 --lf 基本相同,不同的在于 --ff 会运行完剩余的测试用例

9、-v

使得输出信息更详细,不加的情况下每个文件显示一行,加了以后每条用例显示一行,测试名与结果都会显示出来而不仅仅是一个点或者一个字符

10、-q

与 -v 相反,简化输出信息。

11、--tb=style

  • --tb=style:决定捕捉到的失败时输出信息的显示方式。
  • --tb=no:屏蔽全部回溯信息
  • --tb=line:打印错误的位置
  • --tb=short:较 no 和 line 更详细,给出错误信息
  • --tb=long:输出最为详细的信息
  • --tb=auto:默认值,如果有多个用例失败,仅打印第一个和最后一个用例的回溯信息,格式为 long
  • --tb=native:只输出 Python 标准库的回溯信息

12、--duration=N

可以加快测试节奏,统计测试过程中哪个阶段时最慢的,包括测试用例的 call、setup、teardown。他会显示最慢的 N 各阶段,耗时越长越靠前,如果 N = 0,则会将所有阶段按照耗时从长到短排序后显示

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/1 22:41:42

Java面试题库及答案解析(2026版)

今年的行情,让招聘面试变得雪上加霜。已经有不少大厂,如腾讯、字节跳动的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言,甚至失去了难得的机会。 现如今,…

作者头像 李华
网站建设 2026/1/21 22:38:37

Wan2.2-T2V-A14B在军事推演沙盘动画中的战术表达潜力

Wan2.2-T2V-A14B在军事推演沙盘动画中的战术表达潜力 你有没有想过,未来指挥员只需口述一句:“红方侦察组从密林渗透,无人机前出侦测蓝方车队”,大屏幕上就能实时生成一段逼真的动态沙盘动画?不是PPT翻页,也…

作者头像 李华
网站建设 2026/2/1 16:34:14

81698A 可调激光器模块

81689A压缩可调激光专为C波段而设计。它允许用户的测试系统在测试DWDM无源元件时拥有更大的灵活性。特性: 专为C波段而设计 饱和光学放大器,用于密集-WDM传输系统 配置多路试验台,用于DWDM传输系统 连续扫描整个波长范围 以标准单…

作者头像 李华
网站建设 2026/2/2 3:47:36

AI日报 - 2025年12月11日

#本文由AI生成 🌐 一、【行业深度】 1. 🌟 阿里通义千问23天破3000万月活,四大免费功能重塑生产力工具格局 🔥 热点聚焦: 阿里旗下大模型产品通义千问在公测仅23天内实现月活跃用户突破3000万,创下国内大模…

作者头像 李华
网站建设 2026/2/1 19:21:33

Rebel框架快速上手:打造更优雅的macOS应用开发体验 [特殊字符]

Rebel框架快速上手:打造更优雅的macOS应用开发体验 🚀 【免费下载链接】Rebel Cocoa framework for improving AppKit 项目地址: https://gitcode.com/gh_mirrors/reb/Rebel 想要让macOS应用开发变得更加轻松愉快吗?Rebel框架正是为此…

作者头像 李华