尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
第一种:Pytest(一)-快速入门和基础讲解
一.前言1.目前有两种纯测试的测试框架Pytest和Unittest2.Unittest应该是广为人知而且也是老框架很多人都用来做自动化无论是UI还是接口3.Pytest是基于Unittest开发的另一款更高级更好用的单元测试框架4.出去面试也好跟别人说起来也好Pytest的逼格明显高于Unittest二.为什么要用Pytest1.非常容易上手入门简单文档丰富文档中有很多实例可以参考2.能够支持简单的单元测试和复杂的功能测试3.支持参数化4.执行测试过程中可以将某些测试跳过(skip)或者对某些预期失败的case标记成失败5.支持重复执行(rerun)失败的case6.支持运行由 nose,Unittest编写的测试case7.可生成html报告8.方便的和持续集成工具Jenkins 集成9.可支持执行部分用例10.具有很多第三方插件并且可以自定义扩展三.安装Pytest1.cmd运行安装pip install-U pytest pip3 install pytest-i http://pypi.douban.com/simple/--trusted-host pypi.douban.com2.查看版本pytest--version四.Pytest开始使用# -*- coding: utf-8 -*-deffunc(x):returnx1deftest_answer():assertfunc(3)5classTestClass:deftest_one(self):xthisasserthinxdeftest_two(self):xhelloasserthasattr(x,check)1.然后cmd进入当前文件目录直接执行pytest2.说明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.某个目录下所有的用例pytest3.执行某一个py文件下用例pytest 脚本名称.py4.运行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_answer5.运行start.py模块里面测试类里面的某个方法pytest start.py::TestClass::test_two6.-m 标记表达式后续讲解pytest-m login6.1.将运行用pytest.mark.login装饰器修饰的所有测试后面再展开讲标记7.-q简单打印只打印测试用例的执行结果pytest-q start.py8.-s详细打印pytest-s start.py9.-x遇到错误时停止测试pytest start.py-x10.—maxfailnum当用例错误个数达到指定数量时停止测试pytest start.py--maxfail111.-k匹配用例名称11.1.执行测试用例名称包含http的所有用例 pytest-s-k http start.py12.-k根据用例名称排除某些用例pytest-s-knot httpstart.py13.-k同时匹配不同的用例名称pytest-s-kmethod or weibostart.py14.-k同时匹配相同的用例名称pytest-s-kmethod and weibostart.py七.Pycharm运行Pytest1.在Pycharm写代码怎么可能一直用cmd来跑用例呢现在就来看看在Pycharm中如何运行Pytest1.1.首先先要去settings【文件-设置】里面设置单元测试框架为Pytest1.2.如果是nosetests的话右键运行是以python脚本运行的1.3.如果设置unittest则是以unittest框架去运行
RELATED

相关推荐

FreeCAD基本教程-放样操作-天圆地方

FreeCAD基本教程-放样操作-天圆地方

文章目录一、放样简介二、FreeCAD的放样2.1 实现效果2.2 基本思路2.3 具体流程1.创建实体2.创建底部草图3.创建顶部草图4.放样操作三、拓展部分一、放样简介 放样的英文“Loft”源自造船业。过去,工匠在造船厂的阁楼(Loft) 里,按…

📅 2026/10/11 14:20:18
CSS弹性盒子布局(Flexbox)详解

CSS弹性盒子布局(Flexbox)详解

一、弹性盒子概述1.1 基本概念弹性盒子(Flexbox)​ 是CSS3中引入的一种布局手段,主要用于代替浮动完成页面布局。特性说明核心优势使元素具有弹性,可根据页面大小自动调整相比浮动更灵活,无高度塌陷问题兼容性CSS3新增…

📅 2026/9/12 21:16:06
自动驾驶横向控制算法——从几何模型到工程实践:Pure Pursuit的优化与挑战

自动驾驶横向控制算法——从几何模型到工程实践:Pure Pursuit的优化与挑战

1. Pure Pursuit算法核心思想解析Pure Pursuit算法的核心思想源自人类驾驶员的行为模式。想象一下你开车时的场景:眼睛会自然看向前方某个目标点,双手控制方向盘使车辆朝着该点行驶。这种"看远控近"的驾驶策略,正是Pure Pursuit算法…

📅 2026/10/16 14:13:26
MORE NEWS

更多资讯

📰

PLM系统:制造业数字化转型的核心枢纽与实施指南

1. PLM系统:制造业数字化转型的神经中枢第一次接触PLM系统是在2012年,当时我参与一个汽车零部件企业的信息化改造项目。设计部门主管向我抱怨:"每次图纸变更,采购和生产部门总在用旧版本,我们得挨个部门打电话确认…

📰

双图层切换与网格碰撞:小体量解谜游戏《维度逃逸2》开发实践

1. 为什么做“维度逃逸2”:从一代的三个坑说起“维度逃逸”是我去年业余时间折腾出来的一个小体量解谜项目,核心玩法一句话就能说完:同一个场景里存在两套并行地形,玩家可以在两套地形之间瞬时切换,利用另一套地形里的…

📰

操作系统期末试卷高频考点解析:进程线程、虚拟内存与死锁

简介:这份西安电子科技大学《操作系统》期末试题及答案解析PDF,面向计算机相关专业本科生及备考操作系统课程的学生,用于期末复习、考点自查与考前模拟。内容覆盖进程与线程调度、分页存储管理、虚拟内存与局部性原理、UNIX i-node结构、磁盘…

📰

元胞传输模型在高速公路拥堵分析中的应用与实践

1. 项目背景与核心价值高速公路网作为现代交通系统的核心动脉,其运行状态直接影响着区域经济活动和民生出行。当突发事件(如交通事故、恶劣天气、大型活动等)发生时,路网拥堵往往会呈现复杂的时空演化特征。传统基于静态路网模型的…

📰

安川MPE720程序下载连不上:以太网通信与伺服组态排查

简介:面向安川MPE720系列PLC调试与维护人员的实操文档,围绕PLC程序导入与SigmaWin伺服参数导入两条主线,帮助初、中级自动化工程师梳理从硬件准备到报警排查的完整流程。内容覆盖217IF-01串行通信模块拨码设定、CN6A/CN6B与IO模块接线、电脑与…

📰

项目周期管理:工作日计数与日期戳编号系统设计

1. 项目背景解析"Day27-20260123"这个看似简单的编号背后,实际上隐藏着一个完整的项目周期管理方法论。作为一名长期跟踪技术项目管理的从业者,我见过太多团队在项目记录和版本控制上栽跟头。这个编号系统完美融合了时间标记和序列管理&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬