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

第一种:Pytest(一)-快速入门和基础讲解

一.前言

1.目前有两种纯测试的测试框架,Pytest和Unittest2.Unittest应该是广为人知,而且也是老框架,很多人都用来做自动化,无论是UI还是接口3.Pytest是基于Unittest开发的另一款更高级更好用的单元测试框架4.出去面试也好,跟别人说起来也好,Pytest的逼格明显高于Unittest

二.为什么要用Pytest

1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考2.能够支持简单的单元测试和复杂的功能测试3.支持参数化4.执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败5.支持重复执行(rerun)失败的case6.支持运行由 nose,Unittest编写的测试case7.可生成html报告8.方便的和持续集成工具Jenkins 集成9.可支持执行部分用例10.具有很多第三方插件,并且可以自定义扩展

三.安装Pytest

1.cmd运行安装
pip install-U pytest pip3 install pytest-i http://pypi.douban.com/simple/--trusted-host pypi.douban.com
2.查看版本
pytest--version

四.Pytest开始使用

# -*- coding: utf-8 -*-deffunc(x):returnx+1deftest_answer():assertfunc(3)==5classTestClass:deftest_one(self):x="this"assert"h"inxdeftest_two(self):x="hello"asserthasattr(x,"check")
1.然后,cmd进入当前文件目录,直接执行:pytest

2.说明
2.1.如果只执行"pytest",会查找【当前目录及其子目录下】以"test_*.py或*_test.py"文件,找到文件后,在文件中找到以"test开头函数"并执行2.2.如果"只想执行某个文件":pytest start.py2.3.加上"-q",就是显示简单的结果:pytest-q start.py

五.Pytest用例的设计原则

1.用Pytest写用例时候,一定要按照下面的规则去写,"否则不符合规则的测试用例是不会执行的"
1.1.文件名以"test_*.py"文件和"*_test.py"文件1.2."test_"开头的函数1.3."Test"开头的类,不能包含"__init__"方法1.4."test_"开头的类里面的方法1.5.所有的包"package"必须要有"__init__.py"文件

六.Pytest执行用例规则

1.注意:下面讲的都是在"cmd"中执行"pytest"命令
2.某个目录下所有的用例
pytest
3.执行某一个"py"文件下用例
pytest 脚本名称.py
4.运行"start.py"模块里面的某个函数,或者某个类,某个类里面的方法4.1."v"和不加"-v"都可以,加"-v"的话,打印的信息更详细
pytest-v 08_mark.py::TestClass::test_method pytest 08_mark.py::TestClass::test_method pytest start.py::test_answer
5.运行"start.py"模块里面,测试类里面的某个方法
pytest start.py::TestClass::test_two
6.-m 标记表达式(后续讲解)
pytest-m login
6.1.将运行用"@pytest.mark.login装饰器"修饰的所有测试,后面再展开讲标记
7.-q:简单打印,只打印测试用例的执行结果
pytest-q start.py
8.-s:详细打印
pytest-s start.py
9.-x:遇到错误时停止测试
pytest start.py-x
10.—maxfail=num:当用例错误个数达到指定数量时,停止测试
pytest start.py--maxfail=1
11.-k:匹配用例名称
11.1.执行测试用例名称包含http的所有用例 pytest-s-k http start.py
12.-k:根据用例名称排除某些用例
pytest-s-k"not http"start.py
13.-k:同时匹配不同的用例名称
pytest-s-k"method or weibo"start.py
14.-k:同时匹配相同的用例名称
pytest-s-k"method and weibo"start.py

七.Pycharm运行Pytest

1.在Pycharm写代码,怎么可能一直用cmd来跑用例呢?,现在就来看看在Pycharm中如何运行Pytest
1.1.首先,先要去settings【文件-设置】里面设置单元测试框架为Pytest1.2.如果是"nosetests"的话,右键运行是以"python脚本"运行的1.3.如果设置"unittest",则是以"unittest框架"去运行


http://www.jsqmd.com/news/1196139/

相关文章:

  • 转置卷积(Transposed Convolution)—— 上采样
  • 基础设施变更 SOP:从网络、DNS、证书到负载均衡的生产变更规范
  • 2026株洲黄金回收哪家靠谱?本地最新金价+避坑攻略正规门店实测 - 生活测评小能手
  • Hadoop环境安装和集群创建
  • 如何从 iPhone 中永久删除联系人? 4种方式解决
  • C++高并发编程:线程安全、竞态条件与同步原语实战解析
  • 【MATLAB进阶绘图第1棒】三Y轴图实战:从数据到出版级图表的美学定制
  • 2026 年|杭州GEO服务商哪个好?靠谱推荐与本地企业选型指南 - 企业新闻快传
  • 适合孵化OPC项目的AI编码工具深度评测:2026年超级个体实战指南
  • 如何迁移C盘.PyCharm2019.1文件夹|彻底释放C盘空间(PyCharm2019.1专用)
  • 五强竞逐:2026年制造业本地化部署CRM厂商深度对比
  • Python语法元素:输入函数input()/输出函数print()
  • 2026成人学历提升机构深度实测报告——南辰教育全维度拆解与竞品横向对比 - 微城市网络
  • AI-Shoujo HF Patch终极指南:一站式插件整合与游戏优化方案
  • MSP430FR2422硬件设计实战:从TLV解析到PCB布局避坑指南
  • 从零入门大模型:收藏这份前端转Agent全栈开发指南,小白也能快速上手!
  • 深入解析TDA2P-ABZ时钟系统:从DPLL原理到硬件设计实战
  • 【ChatGPT付费决策指南】:20年AI架构师实测12项核心功能,值不值$20/月?
  • 基于PLC的污水处理控制系统仿真与组态设计
  • 开源WMS系统ZEQP:5分钟快速搭建企业级仓库管理解决方案
  • 深度解析 MCP:为什么一串 JSON 就能让 Agent 接入外部世界?
  • Jetson系列SDKManager刷机避坑指南——从环境准备到成功启动
  • 汉明码--ECC错误纠错的核心算法
  • CC1352R多协议无线MCU:物联网节点设计的超低功耗与射频集成方案
  • 2026湖北公考选班避坑全指南:华图、中公、格木、新途径多维度对比,谁更值得选? - 天涯视角
  • YOLOv5从零训练 vs 迁移学习:不同数据集规模下的训练策略选择
  • 肥西二手皮卡货车租售实用攻略 本地靠谱服务参考 - 热点品牌推荐
  • 如何在万亿级别规模的数据量上使用Spark
  • 生成式 UI 的模板热替换:模型输出到组件实例的毫秒级更新链路
  • 端侧 AI 推理的编译器优化:TVM、ONNX Runtime 与 custom executor 的性能三角对比