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插件 |
相关文章:
![](https://i-blog.csdnimg.cn/direct/ae8b0fcd512b4865bea93188194c05c5.png#pic_center)
unittest框架和pytest框架区别及示例
unittest框架和pytest框架区别及示例 类型unittest框架pytest框架unittest框架示例pytest框架示例安装python内置的一个单元测试框架,标准库,不需要安装第三方单元测试库,需要安装使用时直接引用 import unittest安装命令:pip3 install pyte…...
![](https://www.ngui.cc/images/no-images.jpg)
IDEA性能优化方法解决卡顿
文章目录 前言一、可以采取以下措施:二、VM Options的参数解释1. 内存设置2. 性能调优3. GC(垃圾回收)调优4. 调试和诊断5. 其它设置6.设置 VM Options 的步骤: 总结 前言 我们在使用 IntelliJ IDEA的时候有时候会觉得卡顿&#x…...
![](https://www.ngui.cc/images/no-images.jpg)
Mysql集合转多行
mysql 集合转多行 SELECT substring_index(substring_index(t1.group_ids, ,, n), ,, -1) AS group_id FROM (select 908,909 as group_ids ) t1, (SELECT rownum : rownum 1 AS n FROM ( SELECT rownum : 0 ) r, orders ) t2 WHERE n < ( LENGTH( t1.group_ids ) - LENGT…...
![](https://www.ngui.cc/images/no-images.jpg)
MFC:只允许产生一个应用程序实例的具体实现
在MFC(Microsoft Foundation Class)应用程序中,如果你想限制只允许产生一个应用程序实例,通常会使用互斥体(Mutex)来实现。这可以确保如果用户尝试启动第二个实例时,它会被阻止或将焦点返回到已…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解TCP/IP协议中的三次握手
👍 个人网站:【洛秋资源小站】 深入理解TCP/IP协议中的三次握手 在计算机网络中,TCP/IP协议是通信的基石。理解TCP/IP协议中的三次握手是掌握网络通信的关键步骤之一。本文将详细解释TCP/IP协议中的三次握手过程,探讨其工作原理&…...
![](https://www.ngui.cc/images/no-images.jpg)
【React】事件绑定、React组件、useState、基础样式
React 教程 目录 事件绑定 1.1. 基础实现 1.2. 使用事件参数 1.3. 传递自定义参数 1.4. 同时传递事件对象和自定义参数 React 组件 2.1. 组件是什么 2.2. 组件基础使用 useState:状态管理 3.1. 基础使用 3.2. 状态的修改规则 3.3. 修改对象状态 基础样式 4.1. 行…...
![](https://www.ngui.cc/images/no-images.jpg)
x264、x265、libaom 编码对比实验
介绍 x264 是一个开源的高性能 H.264/MPEG-4 AVC 编码器,它以其优秀的压缩比和广泛的适用性而闻名。x265 是一种用于将视频流编码成 H.265/MPEG-H HEVC 压缩格式的免费软件库和应用程序,以其下一代压缩能力和卓越的质量而闻名 。作为 x264 的继任者,x265 支持 HEVC 的 Main、…...
![](https://i-blog.csdnimg.cn/direct/78f22f9ff0a649e798886f4abc130301.png)
c++网络编程实战——开发基于ftp协议的文件传输模块(二) 配置ftp服务与手动执行ftp命令
配置FTP服务 一.前言 博主的环境是阿里云服务器,操作系统版本为 ubuntu20.04,一下所有操作都基于以上环境下进行的操作,同时为了简化操作我将开放同一个云服务器的不同端口,让它同时充当服务端和客户端,大家如果想测试效果更好且…...
![](https://www.ngui.cc/images/no-images.jpg)
Sphinx 安装相关指令解释
安装指令 pip3 install sphinx-autobuildpip3 install sphinx_rtd_themepip3 install sphinx_markdown_tablepip3 install sphinx_markdown_tables pip3 install sphinx-autobuild 功能:安装 sphinx-autobuild 包。作用:sphinx-autobuild 是一个工具&am…...
![](https://www.ngui.cc/images/no-images.jpg)
npm下载包-更改默认缓存目录
npm(Node Package Manager)的缓存目录是npm用于存储已下载包的本地位置,以便在后续安装相同包时能够快速复用,从而节省时间和带宽。npm缓存目录的具体位置会根据操作系统的不同而有所差异。 Windows系统 在Windows系统中&#x…...
![](https://i-blog.csdnimg.cn/direct/46d736fbe5274c33aaaf8d00b083a3e7.png)
PWM再理解(1)
前言 昨天过于劳累,十点睡觉,本来想梳理一下PWM,今天补上。 PWM内涵 PWM全称:Pulse Width Modulation,也就是脉宽调制的意思,字面意思理解就是对脉冲的宽度进行改变。准确就是通过数字输出对模拟电路进行…...
![](https://img-blog.csdnimg.cn/img_convert/1ac60372da3f28d717a002e9e3ea0f6c.png)
CSPVD 智慧工地安全帽安全背心检测开发包
CSPVD SDK适用于为各种智慧工地应用增加安全防护穿戴合规的检测能力,能够有效检测未戴安全帽和未穿 安全背心的人员,提供Web API和原生API。官方下载:CSPVD工地安全防护检测 1、目录组织 CSPVD开发包的目录组织说明如下: xlpr_…...
![](https://www.ngui.cc/images/no-images.jpg)
给常用Docker命令起别名,提高效率
在日常的开发和运维工作中,Docker是一款非常常用的工具。为了提高工作效率,我们可以为一些常用的Docker命令设置别名,这样可以更快速地执行这些命令。以下是如何给常用Docker命令起别名的详细步骤。 修改/root/.bashrc文件 首先,…...
![](https://www.ngui.cc/images/no-images.jpg)
基于深度学习的草莓成熟度实时检测系统(UI界面+YOLOv8/v7/v6/v5模型+完整代码与数据集)
1. 引言 在农业领域,草莓的成熟度检测是保证果实品质的重要环节。传统的方法依赖于人工经验,不仅耗时费力,还容易出错。本文介绍如何使用YOLO(You Only Look Once)系列模型(YOLOv8/v7/v6/v5)构…...
![](https://i-blog.csdnimg.cn/direct/38d4c2f8117c48f1a99c4885e6cd40d2.png)
【devops】ttyd 一个web版本的shell工具 | web版本shell工具 | web shell
一、什么是 TTYD ttyd是在web端一个简单的服务器命令行工具 类似我们在云厂商上直接ssh链接我们的服务器输入指令一样 二、安装ttyd 1、macOS Install with Homebrew: brew install ttydInstall with MacPorts: sudo port install ttyd 2、linux Binary version (recommend…...
![](https://www.ngui.cc/images/no-images.jpg)
Windows环境Apache配置解析PHP,以及配置虚拟主机详解
1. 安装 Apache 和 PHP 确保你已经安装了 Apache Web 服务器和 PHP。你可以从官方网站下载它们的 Windows 版本: Apache HTTP ServerPHP 2. 配置 Apache 配置 httpd.conf 文件 找到你的 Apache 安装目录下的 conf 文件夹中的 httpd.conf 文件,使用文…...
![](https://i-blog.csdnimg.cn/direct/3a3db81960424c56b0b209d07e9d3c80.png)
Redis高级篇—分布式缓存
目录 Redis持久化 RDB持久化 AOF持久化 RDB与AOF对比 Redis主从 全量同步 增量同步 Redis哨兵 RedisTemplate集成哨兵实现 Redis分片集群 散列插槽 集群伸缩 故障转移 自动故障转移 手动故障转移 RedisTemplate访问分片集群 Redis持久化 RDB持久化 RDB全称Re…...
![](https://www.ngui.cc/images/no-images.jpg)
c++端的类,作为组件在qml端使用
qml使用c端的类,作为组件在qml端使用 这个类必须继承QObject 这个类必须继承QObject #ifndef COLLISIONALARM_H #define COLLISIONALARM_H#include <QObject>class CollisionAlarm : public QObject {Q_OBJECT//这个宏就叫做反射机制,让qml端直接…...
![](https://www.ngui.cc/images/no-images.jpg)
Android 14 适配之 - 全屏 intent 通知
全屏 intent 通知 在 Android 11(API 级别 30)中,任何应用都可以在手机处于锁定状态时使用 Notification.Builder.setFullScreenIntent 发送全屏 intent。在 AndroidManifest 中声明 USE_FULL_SCREEN_INTENT 权限即可; 全屏 int…...
![](https://www.ngui.cc/images/no-images.jpg)
如何在 Vue 和 JavaScript 中截取视频任意帧图片
大家好!今天我们来聊聊如何在 Vue 和 JavaScript 中截取视频的任意一帧图片。这个功能在很多场景下都非常有用,比如视频编辑、视频预览等。本文将带你一步步实现这个功能,并且会提供详细的代码示例。 准备工作 首先,我们需要一个…...
![](https://www.ngui.cc/images/no-images.jpg)
代码随想录学习 day54 图论 Bellman_ford 队列优化算法(又名SPFA) 学习
Bellman_ford 队列优化算法(又名SPFA) 卡码网:94. 城市间货物运输 I 题目描述 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从…...
![](https://www.ngui.cc/images/no-images.jpg)
递归遍历树结构,前端传入一整颗树,后端处理这个树,包括生成树的id和pid等信息,
递归逻辑 递归遍历树结构,将树结构转换list集合 并添加到 flowStepTree 集合 // 递归遍历树结构,将树结构转换list集合 并添加到 flowStepTree 集合private static void settingTree(ProductFlowStepVO node, Long parentId, String ancestors, List<…...
![](https://i-blog.csdnimg.cn/direct/93115fbc406742ccb76ac3206e9f050d.png)
Nginx详解(超级详细)
目录 Nginx简介 1. 为什么使用Nginx 2. 安装Nginx Nginx的核心功能 1. Nginx反向代理功能 2. Nginx的负载均衡 3 Nginx动静分离 Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协…...
![](https://www.ngui.cc/images/no-images.jpg)
postman使用旧版本报错version mismatch detected
卸载 postman又重装了别的版本,打开后遇到了这个报错,解决办法如下: 删除缓存文件 C:\Users\Administrator\AppData\Roaming\Postman 下载PostMan 提取码:6k51...
![](https://www.ngui.cc/images/no-images.jpg)
探索数据的隐藏维度:使用Scikit-Learn进行特征交互性预测
探索数据的隐藏维度:使用Scikit-Learn进行特征交互性预测 在机器学习中,特征交互性是指不同特征之间可能存在的复杂关系,这些关系对预测结果有着重要影响。Scikit-Learn(简称sklearn),作为Python中广受欢迎…...
![](https://img-blog.csdnimg.cn/img_convert/714a6cf9218d4926d2a9e390f209edf9.jpeg)
首个WebAgent在线评测框架和流程数据管理平台来了,GPT-4、Qwen登顶闭源和开源榜首!
在当今科技迅速发展的时代,大型语言模型(Large Language Model,LLM)正以前所未有的速度改变着我们与数字世界的互动方式。基于LLM的智能代理(LLM Agent),从简单的信息搜索到复杂的网页操作&…...
![](https://i-blog.csdnimg.cn/direct/bb12553cdf5c47d3bb516cb277fa949b.png)
UE TSharedPtr
文章目录 概述TSharedPtrTSharedPtr包含2部分 构造,析构,拷贝构造,移动构造构造拷贝构造移动构造 小结 概述 之前写过一篇c的智能指针的,这篇写下ue的。本质上来说是差不多的,可以简单看看。 TSharedPtr 如下图&…...
![](https://img-blog.csdnimg.cn/img_convert/6e417166f34446b3204c94bc7993b9b1.png)
基于X86+FPGA+AI的远程医疗系统,支持12/13代 Intel Core处理器
工控主板:支持12/13代 Intel Core处理器,适用于远程医疗系统 顺应数字化、网络化、智能化发展趋势,国内医疗产业改革正在积极推进,远程医疗、智慧医疗等新模式新业态创新发展和应用,市场空间不断扩大,而基…...
![](https://www.ngui.cc/images/no-images.jpg)
微信小程序开发入门指南
文章目录 一、微信小程序简介二、微信小程序开发准备三、微信小程序开发框架四、微信小程序开发实例六、微信小程序开发进阶6.1 组件化开发6.2 API调用6.3 云开发 七、微信小程序开发注意事项7.1 遵守规范7.2 注意性能7.3 保护用户隐私 八、总结 大家好,今天将为大家…...
![](https://i-blog.csdnimg.cn/direct/3e3e3fd24de747b2810a4d2c691047c4.jpeg)
一个非常好的美图展示网站整站打包源码,集成了wordpress和开源版ripro主题,可以完美运营。
一个非常好的美图展示网站整站打包源码,集成了wordpress和开源版ripro主题,可以完美运营。 自带了5个多g的美图资源,让网站内容看起来非常大气丰富,可以快速投入运营。 这个代码包,原网站已经稳定运营多年࿰…...
![](/images/no-images.jpg)
兰州商城网站建设/域名停靠网页app推广大全
需要处理的返回场景: 1.正常的a->b->c 2.页面上的按钮触发需要登陆 3.页面跳转需要登陆 4.页面上的可修改的部分(如选择地址,地址页面本身也是可以增删改查的) 整体的原则是原路来原路回 第一个场景不需要考虑,h…...
![](/images/no-images.jpg)
学习之家网站/龙华线上推广
1、响应头文件Open Buffer{#进行判断后端服务返回的响应文件是否大大于响应头大小设置if proxy_buffer_size > c.proxy_buffer_size:#进行缓存,每个连接缓冲区最大数量,proxy_buffersc.proxy_buffer_size(number,size) >> connect.hash(c.proxy_buffer_siz…...
![](/images/no-images.jpg)
临沂市网站建设公司/通过qq群可以进行友情链接交换
建议优先选择centos系统,不过2个显然都是可以满足我们的日常建站需求的。国内其实centos和ubuntu使用的人都还是挺多的,一般用户而言基本没啥显著的区别的,阿里云基本上都可以使用。 不过不用担心的,因为我们的操作系统是可以在后…...
![](https://img-blog.csdnimg.cn/20181105215616591.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podWd1YW5naGFsbw==,size_16,color_FFFFFF,t_70)
集团门户网站建设策划/哪里可以接广告
本指南将向您展示如何轻松只需几个简单的步骤即可实现Spring Boot应用的国际化 我们将讨论如何在现有的Spring Boot项目中添加国际化。当您处理应该为来自不同国家/地区的用户提供不同语言服务的项目时,app国际化的问题变得很常见。比如,你需要向中国用…...
![](https://www.oschina.net/img/hot3.png)
国内做钢铁的网站/seo排名优化app
2019独角兽企业重金招聘Python工程师标准>>> package com.yuan.test;public class Autogrew {public static void main(String[] args) {// 保存 short 可取的最大值的常量,最大值为 215-1。(32 767) // 保存 short 可取的最小值的…...
![](https://img-blog.csdnimg.cn/img_convert/9aa8111a21b10a59fde001dbaca6bf08.png)
诸暨做网站广告的电话/性价比高seo排名优化的
MySQL的官方地址:https://www.mysql.com/社区最新版本:5.7.18有两种下载格式:Installer和Zip两种以zip格式简单介绍:将压缩包解压后内容复制到所需目录(如:D:/Program Files/mysql )mysql :the MySQL command-line tool 命令行工具…...