unittest框架和pytest框架区别及示例

unittest框架和pytest框架区别及示例

类型unittest框架pytest框架unittest框架示例pytest框架示例
安装python内置的一个单元测试框架,标准库,不需要安装第三方单元测试库,需要安装使用时直接引用 import unittest安装命令:pip3 install pytest,使用时直接引用import pytest
用例编写规范1. 测试类必须继承 unittest.TestCase,2. 测试方法必须test开头命名1. 测试模块以 test_ 开头命名如:test_login.py,或以 _test 结尾,2. 测试类必须以Test开头命名,且测试类中不能有 init 方法,3. 测试方法/测试函数:必须以test开头在这里插入图片描述在这里插入图片描述
执行方式1. unittest和pytest框架都可以在文件里和终端执行,2. unittest和pytest执行方式并不依赖终端和文件内的命令,后期会单独创建一个main执行入口文件来执行(这里了解即可,先当测试使用)在这里插入图片描述1. 文件内执行:pytest.main([‘-s’,‘-v’]),2. 终端执行:pytest -s -v
执行顺序在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
筛选用例可以通过筛选函数名、类名、模块名执行在这里插入图片描述在这里插入图片描述在这里插入图片描述
前置和后置提供了setUp/tearDown,每个用例运行前、结束后运行一次。setUpClass和tearDownClass,所有用例执行前、结束后,只运行一次在这里插入图片描述在这里插入图片描述在这里插入图片描述
收集用例使用unittest.TestSuite()套件收集测试用例,再通过TestLoader()加载器:可以加载类,加载模块名执行创建 py 文件命名以 test_开头或者_test 结尾文件自动收集用例,例如: test_login.py login_test.py在这里插入图片描述在这里插入图片描述
断言在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
参数化在这里插入图片描述直接使用@pytest.mark.parametrize装饰器,例如:@pytest.mark.parametrize(“case”,test_data) #case :变量名 item:测试数据 test_data在这里插入图片描述在这里插入图片描述
测试报告1. 使用unittest自带的测试报告格式 2. 使用HTMLTestRunnerNew库,需要额外安装在这里插入图片描述在这里插入图片描述在这里插入图片描述
重运行机制1. unittest不支持,2. 可以参考unittestreport扩展库支持重运行机制,安装命令: pip install unittestreport通过插件rerunfailures支持重运行机制,安装命令:pip install pytest-rerunfailures,例如(指定标签失败用例–运行2次间隔为5秒后):pytest -m smoke --reruns 2 --reruns-delay 5在这里插入图片描述
运行一般都会单独写一个main执行入口文件,有两种运行 1. 使用unittest自带的runner,2. 结合HTMLTestRunnerNew插件运行通过main入口文件执行命令,也可以通过终端命令执行在这里插入图片描述在这里插入图片描述
插件比unittest插件相对多很多,目前有600+,比如allure插件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 声音信号希尔伯特黄变换

1、内容简介 略 91-可以交流、咨询、答疑 2、内容说明 略 Hilbert-Huang变换(HHT)是一种基于经验的数据分析方法 方法。它的扩展基础是自适应的,因此它可以从非线性和非平稳过程中产生具有物理意义的数据表示。这个 适应性的优势是有代价…

算法——双指针(day4)

15.三数之和 15. 三数之和 - 力扣(LeetCode) 题目解析: 这道题目说是三数之和,其实这和我们之前做过的两数之和是一个规律的~无非就是我们需要实时改动target的值。先排好序,然后固定一个数取其负值作target&#xf…

【Linux 驱动】IMX6ULL eLCDIF驱动

1. eLCDIF设备树 lcdif: lcdif021c8000 {compatible "fsl,imx6ul-lcdif", "fsl,imx28-lcdif"; //属性reg <0x021c8000 0x4000>; //起始地址 地址大小interrupts <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; …

Linux存储管理-逻辑卷管理(LVM)

逻辑卷管理&#xff08;LVM&#xff09;流程 物理磁盘/分区 -> 物理卷&#xff08;PV&#xff09;-> 加入卷组&#xff08;VG&#xff09;-> 卷组调配空间&#xff0c;制作逻辑卷&#xff08;LV&#xff09;-> 格式化 -> 挂载 -> 使用 为什么需要逻辑卷管理…

Web 性能入门指南-3.5 优化单页应用程序 (SPA)

&#x1f338; 欢迎来到前端后花园&#xff01;这里是一个温馨的小角落&#xff0c;专为热爱前端技术的你打造。没有华丽的辞藻&#xff0c;只有真诚的分享。希望你能在这里找到实用的内容&#xff0c;学到新知识&#xff0c;同时也欢迎你畅所欲言&#xff0c;分享你的思考和见…

【Linux 13】文件系统

文章目录 &#x1f308; 一、前言&#x1f308; 二、文件操作的系统接口⭐ 1. 打开文件 open⭐ 2. 关闭文件 close⭐ 3. 写入文件 write⭐ 4. 读取文件 read &#x1f308; 三、文件描述符⭐ 1. 文件描述符介绍⭐ 2. 提前被分配的文件描述符 0 1 2⭐ 3. 文件描述符的分配规则 &…

浏览器插件利器--allWebPluginV2.0.0.16-beta版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

minio安装小计一则

安装minio并且使用api方式对文件进行操作 本文使用docker安装 docker pull minio/minio docker pull minio/mc &#xff08;mc为minio文件运行命令行工具&#xff09; 使用如下命令运行Minio服务器容器&#xff1a; docker run -p 9000:9000 -p 9001:9001 --name minio-…

【深度学习】大模型GLM-4-9B Chat ,微调与部署

下载好东西&#xff1a; 启动容器环境: docker run -it --gpus all --net host --shm-size8g -v /ssd/xiedong/glm-4-9b-xd:/ssd/xiedong/glm-4-9b-xd kevinchina/deeplearning:pytorch2.3.0-cuda12.1-cudnn8-devel-yolov8train bashpip install typer tiktoken numpy1.2…

Web开发:ASP.NET CORE使用Ajax定时获取后端数据

一、低难度&#xff08;刷新a标签&#xff09; 1、需求 给a标签每15s刷新一次&#xff0c;显示最新的时间&#xff08;时间必须由后端获取&#xff09; 应该如何操作呢 2、代码 后端 using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Mi…

解决mysql5.0,Navicat for MySQL,IntelliJ IDEA之间中文乱码

使用软件版本 jdk-8u171-windows-x64 ideaIU-2021.1.3 mysql-essential-5.0.87-win32 navicat8_mysql_cs 这个问题我调试了好久&#xff0c;网上的方法基本上都试过了&#xff0c;终于是解决了。 三个地方结果都不一样。 方法一 首先大家可以尝试下面这种方法&#xff1a…

记录 cocos 开发问题 ,微信 wx.xxx函数 报找不到名称“wx”

今天写微信排行榜遇到 问题分享一下。 目前&#xff0c;微信、百度 和 抖音 小游戏这些平台为了保护其社交关系链数据&#xff0c;增加了 开放数据域 的概念&#xff0c;这是一个单独的游戏执行环境。开放数据域中的资源、引擎、程序&#xff0c;都和主游戏&#xff08;主域&a…

(秋招复习)自动驾驶与机器人中的SLAM技术(二)

秋招复习之--自动驾驶与机器人中的SLAM技术2 第五章 基础点云处理激光传感器与点云的数学模型最近邻问题准确率和召回率暴力最近邻栅格和体素方法二分树与K-d树四叉树和八叉树 拟合问题平面拟合直线拟合 第六章 2D激光定位与建图扫描匹配算法点到点的scan matching点到线的scan…

mybatis-plus模板引擎代码生成

网盘代码&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1jwuVGiA97dc1KVnGKc0c4g?pwd6666 提取码&#xff1a;6666 Gradle依赖&#xff1a; dependencies {// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starterimplementation org.…

linux系统设置开机启动的两种方法systemd及rc.local(手工写sh脚本,手工写service服务)

文章目录 知识点实验一、systemd&#xff08;一&#xff09;自写一个sh脚本并加入开机启动&#xff08;二&#xff09;源码安装的nginx加入开机启动 rc.local 知识点 在Linux系统中&#xff0c;有多种方法可以设置开机启动。以下是其中的一些主要方法&#xff1a; systemd 在较…

基于SSM的网上选课系统

系统背景 在当今信息化高速发展的时代&#xff0c;随着Internet的普及和高等教育规模的不断扩大&#xff0c;传统的手工选课方式已难以满足高校日益增长的管理需求。传统的选课方式不仅效率低下&#xff0c;还容易出现人为错误&#xff0c;导致资源浪费和管理成本上升。因此&am…

2959.力扣每日一题7/17 Java(暴力枚举+Floyd算法)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;算法练习关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 Floyd算法 解题思路 解题过程 时间复杂度 空间复杂度 Floyd算法 …

Linux系统快速搭建轻量化网站Halo并实现无公网IP远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

AWE2025正式启动,AWE×AI 推动智慧生活的普及

7月18日&#xff0c;2025年中国家电及消费电子博览会&#xff08;AWE2025&#xff09;正式启动。主办方宣布&#xff0c;AWE2025的主题为“AI科技、AI生活”&#xff0c;展会将于2025年3月20-23日在上海新国际博览中心举办。 作为全球三大家电和消费电子领域展会之一&#xff…

一个非常好的美图展示网站整站打包源码,集成了wordpress和开源版ripro主题,可以完美运营。

一个非常好的美图展示网站整站打包源码&#xff0c;集成了wordpress和开源版ripro主题&#xff0c;可以完美运营。 自带了5个多g的美图资源&#xff0c;让网站内容看起来非常大气丰富&#xff0c;可以快速投入运营。 这个代码包&#xff0c;原网站已经稳定运营多年&#xff0…