当前位置: 首页 > news >正文

软件测试中,pytest 框架如何运行上传失败的测试用例?

回答重点

在软件测试中,pytest 是一个非常流行的框架,它提供许多强大且灵活的功能,以确保我们的测试工作顺利进行。要运行上传失败的测试用例,我们可以使用 pytest 的 --last-failed 选项。

具体步骤如下:

1)确保 pytest 被配置为记录测试结果。可以通过 pytest 的 --result-log 选项记录测试结果到一个文件。

2)运行测试并记录下所有的结果。这一步会生成一个结果文件,可以是 result.log 之类的文件。

3)要重新运行上一次失败的测试用例,只需使用 --last-failed 选项。

例如:

pytest --result-log=result.log
pytest --last-failed

扩展知识

1) 结果记录 : 这一步是关键,它确保你有一个地方能够保存所有的测试结果。 --result-log 用于生成结果文件,但需要注意这个选项在 pytest 高版本中已废弃,建议使用插件来代替,如 pytest-cachepytest-failures 。你可以在 pytest.ini 文件中配置这些插件:

[pytest]
addopts = --last-failed

2) 运行初始测试 : 一次性运行所有测试,用于记录最初的结果。你可以通过不同的选项来优化这一步,例如:

pytest tests/ --maxfail=5 --tb=short

--maxfail=5 让 pytest 遇到 5 个失败的测试用例后就停止运行, --tb=short 会显示简短的错误追踪信息。

3) 重新运行失败的测试用例: 用 --last-failed 选项可以很容易地重新运行上次所有失败的测试用例。这个步骤特别适合在你修复了部分代码后验证特定改动是否修复了问题:

pytest --last-failed

除了 --last-failed ,pytest 还提供了一些其他有用的选项:

1) --maxfail:你可以设定最大失败数量,超出这个数目 pytest 就会停止运行。例如:

pytest --maxfail=3

2) -k:只运行名称匹配指定表达式的测试用例,支持简单的逻辑操作。如果你知道部分可能会失败的测试用例,你可以手动运行那些测试用例:

pytest -k "test_upload"

最后,配合使用 pytest 的相关插件,比如 pytest-xdist 可以并行运行测试,加快测试速度; pytest-rerunfailures 则可以设置自动重跑失败的用例。

http://www.lryc.cn/news/610549.html

相关文章:

  • docker国内镜像源列表
  • 软件测试中,pytest 如何运行多个文件或整个目录?
  • Python入门Day15:面向对象进阶(类变量,继承,封装,多态)
  • springboot + maven 使用资源占位符实现动态加载配置文件
  • Modstart 请求出现 Access to XMLHttpRequest at ‘xx‘
  • imx6ull-驱动开发篇9——设备树下的 LED 驱动实验
  • ubuntu的压缩工具zip的安装和使用
  • 【C++】类和对象1
  • 力扣106:从中序与后序遍历序列构造二叉树
  • 「PromptPilot 大模型智能提示词平台」—— PromptPilot × 豆包大模型 1.6:客户投诉邮件高效回复智能提示词解决方案
  • 工业级 CAN 与以太网桥梁:串口服务器CAN通讯转换器深度解析(上)
  • 【科研绘图系列】R语言绘制误差棒图
  • 姜 第四章 线性方程组
  • shmget等共享内存系统调用及示例
  • uniapp 类似popover气泡下拉框组件
  • Maven和Gradle在构建项目上的区别
  • uniapp Android App集成支付宝的扫码组件mPaaS
  • Linux驱动25 --- RkMedia音频API使用增加 USB 音视频设备
  • Linux驱动24 --- RkMedia 视频 API 使用
  • 技术文章推荐|解析 ESA 零售交易方案(技术分析+案例拆解)
  • 基于k8s环境下的pulsar常用命令(下)
  • JavaWeb02——基础标签及样式(黑马视频笔记)
  • 203.移除链表元素 707.设计链表 206.反转链表
  • 8.5 位|归并|递归
  • 腾讯云CodeBuddy AI IDE+CloudBase AI ToolKit打造理财小助手网页
  • C++ - 基于多设计模式下的同步异步日志系统(11w字)
  • 使用ProxySql实现MySQL的读写分离
  • 【模电笔记】—— 直流稳压电源——整流、滤波电路
  • C++返回值优化(RVO):高效返回对象的艺术
  • LINUX 85 SHElL if else 前瞻 实例