尧图网络 高端网站定制 · 原创设计
免费咨询热线
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/9/1 12:00:40
CSS弹性盒子布局(Flexbox)详解

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

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

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

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

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

📅 2026/9/10 6:04:12
MORE NEWS

更多资讯

📰

向量维度详解,Embedding 模型选型与量化原理

《向量检索与 AI RAG/Agent 落地实战》系列文章总目录 第 01 篇:为什么 AI Agent / RAG 系统需要向量第 02 篇:向量维度详解,Embedding 模型选型与量化原理第 03 篇:向量数据库核心作用(索引原理、关系库区别、企业级…

📰

2026论文神级降AI率工具大曝光:一键把AIGC率降至安全线!

步入2026年,学术圈的生存规则早已面目全非。曾经让人焦头烂额的查重问题,如今已经退居二线,取而代之的是对AIGC率的极度恐慌。随着AI检测技术越来越“精明”,高校的审查标准也愈发严苛。现在光是把查重率压下去已经不够用了&#…

📰

Stagehand 浏览器 Agent SDK 版本演进全解:从 v1 到 v4 的核心能力与升级指南

Stagehand 浏览器 Agent SDK 版本演进全解:从 v1 到 v4 的核心能力与升级指南 【免费下载链接】stagehand The SDK For Browser Agents 项目地址: https://gitcode.com/GitHub_Trending/stag/stagehand Stagehand 是面向浏览器 Agent 的 SDK,本仓…

📰

Arduino IDE 安装与配置全攻略:三大平台及ESP32板卡实操指南

Arduino IDE 装起来本身不难,但我见过太多人卡在第一关:官网打开后不知道下载哪一个,装完之后板子认不出来,或者端口怎么都选不对。尤其是 Windows、macOS、Linux 这三个系统的安装方式差别挺大,里面藏了一堆小坑&…

📰

MTK解锁工具TFT-MTK-v1.0实战:FRP清除、账号移除与IMEI修复

简介:面向需要处理联发科芯片设备维修与解锁的用户,这份TFT-MTK v1.0解锁平台提供Windows下的一站式图形化方案。它支持删除FRP、移除小米账号、重新锁定或解锁Bootloader,并能通过元模式一键修复IMEI,覆盖OPPO、vivo等多款MTK机型…

📰

51单片机按键控制蜂鸣器:消抖与定时器驱动的完整实现

简介:围绕“按键控制蜂鸣器”的嵌入式入门实验工程包,面向微控制器初学者及单片机课程学习者,旨在演示最基本的输入输出控制逻辑:按键连接GPIO端口,按下时电平变化被微控制器捕获,程序据此切换蜂鸣器驱动信…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬