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

Pytest的常⽤运⾏⽅式

一.main文件代码运行

1.前面学习过main文件中使用main函数来执行用例,main函数接收的两参数,以及不同参数执行后,终端展示内容的不同2.如果有多个用例的"py"文件、多条用例,看运行的情况的总概述:可以不传参数3.当一个用例的项目中,有很多用例的"py"文件时,可以把"main"文件写在项目的根目录下4.就可以通过"main"函数的执行,依次执行所有"py"文件的用例5.例如:项目文件名是m3,里面有子目录文件 ,把"main"文件放在m3的下级目录中就可以

6.执行后的终端显示

7.换成pytest.main(["-s"])执行后的终端显示

二.Pytest命令⾏运

1.快速定位到要执行的用例目录下的"Terminal终端"
1.1.方式1:点击要执行的项目文件夹右键--Open In--Terminal

1.2.方式2:使用cd命令,进入要执行的用例目录

2.除用"main"文件运行用例,还可以在"Terminal"终端用命令来执行用例
2.1.终端输入pytest:同等于在main文件的pytest.main([])2.2.终端输入pytest-s:同等于在main文件的pytest.main(["-s"])2.3.终端输入pytest-s-v:同等于在main文件的pytest.main(["-s","-v"]);终端的空格=逗号2.4.终端输入pytest-sv:同等于在main文件的pytest.main(["-sv"]);-s-v的缩写2.5.终端输入pytest-vs:同等于在main文件的pytest.main(["-vs"]);-s-v的缩写2.6.指定用例运行:pytest test_01.py::Test01::test001-sv:同等于在main文件的pytest.main(["test_01.py::Test01::test001","-vs"])
2.1.1."Terminal"终端输入"pytest"执行效果

2.2.1."Terminal终端"输入"pytest -s"执行效果

2.3.1.."Terminal终端"输入"pytest -s -v"执行效果

2.4.1."Terminal终端"输入"-s -v可以缩写成 -sv,或者-vs,v和s不分先后"执行效果

三.Pytest指定运⾏⽤例

1.像上面的m3用例目录下,有很多不同的模块1.1.当只需要执行某一模块的用例、或者某一个模块的某个类、或者某个类下面的某个用例,就可以进行指定
2.Pytest指定运行其中一个模块的用例:pytest 模块名

2.1.Pytest如果需要显示输入内容,再加上-s即可:pytest 模块名-s

3.Pytest指定运行某个模块中的某个类:pytest 模块名::函数名/类名#(双冒号表示模块中的下一层)

4.Pytest指定运行某个模块中的某个类下面的某个用例:pytest 模块名::函数名::类名
4.1.指定m3文件夹下--test_01这个模块--Test01这个类--下面的test002这个用例

4.2.在main文件中指定模块下类下面的某个用例4.3.写法和终端差不多,只是多了标识符、双引号、逗号

5.指定文件夹运行用例:pytest.main(["文件名","-sv"])
5.1.指定m3文件夹下--testcase这个文件夹下的所有用例

5.2.指定文件夹下的子级文件的用例运行:pytest.main(["文件名/子文件夹名","-sv"])

5.3.指定文件夹下--子级文件--模块中的某个用例运行:pytest.main(["文件名/子文件夹名/模块名::用例名","-sv"])

四.Pytest运⽤-k筛选⽤例

1.筛选用例,一般以用例名作为筛选条件,配合筛选关键词“-k”使用即可
1.1.例如:筛选用例名包含040的用例执行 pytest.main(["-k","040","-vs"])# main文件的写法pytest-k040-vs# 终端命令行的写法

http://www.cnnetsun.cn/news/3281381.html

相关文章:

  • CD4511+NE555 过流检测电路:数码管闪烁提示的 2 种实现方案对比
  • Unity环境资产包深度解析:从SRP支持到森林村庄场景高效搭建
  • 为什么92%的团队误用Claude Code?资深架构师拆解4类典型失效场景及对应Prompt工程修复方案
  • Twitter做外贸引流靠谱吗?为什么很多外贸企业开始Twitter获客?
  • Claude Code权限配置失效的7大致命错误:从越权访问到审计断层,一线攻防团队实测复盘
  • 双目立体匹配实战:OpenCV SGBM 与 AD-Census 算法对比,Middlebury 数据集评测
  • STM32系统级开发:从点灯到真实嵌入式工程的三重跨越
  • 腾讯混元Hy3 MoE模型实战:从部署到代码生成与Agent应用
  • 3种PMSM坐标变换(Clark/Park)代码实现对比:C语言、Python与MATLAB性能实测
  • 国产大模型桌面应用工程实践:Tauri+GLM-5流式对话全链路解析
  • 3 种进制转换算法对比:递归、迭代与 C++ 标准库,性能实测与适用场景
  • MonkeyCode一键上线:静态网站发布的原子化革命
  • Hydra 9.5 实战:SSH/FTP/HTTP 等 5 种协议爆破命令与 3 个关键参数解析
  • STM32与欧姆龙继电器实现高效直流负载控制方案
  • 【Kafka】Kafka 4.1.0版本安装、配置和服务启动问题解决过程记录
  • 银河麒麟服务器 OpenSSL 证书配置:5个关键配置文件参数详解与排错指南
  • AI模型发布变动下的工程应对:从抽象层设计到应急响应
  • 三步快速获取国家中小学智慧教育平台电子教材:终极下载解决方案
  • 《HarmonyOS技术精讲-Core Vision Kit》第1篇:入门概述与快速上手
  • 豆包社交第一步,为何先找飞书?拆解AI时代最贵的一张聊天网
  • 从零到接单:用这49个行业定制提示词模板,3天内产出电商/游戏/建筑/医疗全领域高质量图稿
  • OpenClaw接入火山方舟踩坑实录:协议对齐与Schema映射实战
  • 女大学生行李箱选购指南:从尺寸、材质、轮子到5款主流拉杆箱推荐
  • 豆包代码生成能力实测:从语法正确到生产可用的工程化验证体系
  • C++与OpenCV部署YOLOv11-CLS:工业质检边缘端轻量化方案
  • 语言引导的视觉预训练:从2D图像理解到3D空间感知增强
  • AI驱动Unity程序化场景生成:从提示词到分层技术实现
  • Claude Code团队版采购决策指南:按日活开发者数×代码仓库量×CI/CD频次动态测算最优License组合
  • Qt WebEngine图形驱动异常排查:从ig9icd64.dll崩溃到系统级解决方案
  • 大模型岗位深度解析:小白程序员转型必读,收藏这份进阶指南!