【测试框架篇】单元测试框架pytest(1):环境安装和配置

news2024/11/22 0:29:40

一、pytest简介

Pytest是Python的一种单元测试框架,与Python自带的unittest测试框架类似,但是比 unittest框架使用起来更简洁,效率更高。

二、pytest特点

Pytest是一个非常成熟的Python测试框架,主要特点有以下几点:

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

三、pytest安装

1、确认环境上是否安装python和pip程序

在安装pytest前,首先要确保python环境和pip装包工具正确安装,方法如下:

  • 在cmd命令窗口输入python --version或者直接输入python都可以确认环境是否安装python,下图表示环境已经安装了python 3.10.4版本。

注意:我们一般安装python版本都不会是最新版本,都会选择当前运行最稳定的版本。这里我们用的是python3.0而不是2.0,还有同学在用2.0的要注意了,还是存在很大差异的。

  • 同时在cmd命令窗口输入pip -V,下图可以看到pip软件已经安装完成

注意:如果这里显示的pip不是最新版本,下面会提示你升级pip版本,具体你可以参照命令行下面提示的操作,执行pip升级命令就行。

2、安装pytest

pytest安装特别简单,在cmd命令窗口输入命令pip install pytest就可以

上面步骤执行完后,可以通过下面命令pip list或者pytest --version看pytest是否安装成功

四、第一个pytest脚本

 我这里讲述的是基于pycharm软件下运行的pytest脚本,所以各位看官首先要安装pycharm软件。

1、 首先在pycharm软件里面新建一个项目pythonProject3

2、在生成的项目下面新建一个文件夹testcase

3、然后在testcase文件夹下面右键单击new-->Python File并将py文件命名为test_pytest.py

4、在test_pytest.py文件里面敲入如下代码:

import pytest


class TestPyTest:

    def test_01_pytest(self):
        print('Hello, pytest!')


if __name__ == '__main__':
    pytest.main()

5、右键单击该py脚本,选择红色标记2选项, 运行代码

6、代码运行完成后输出如下结果说明前面pytest安装环境成功

注意:上面第一个pytest脚本命名、类命名、函数(用例)命名都是有规定的,需要遵守一定的规则。这里如果你随意命名的话,有可能你的脚本是运行不了的。至于有哪些规则,接下来会做详细的阐述。

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

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

相关文章

【CANOE】【学习】【DecodeString】字节转为中文字符输出

系列文章目录 文章目录 系列文章目录前言一、DecodeString 转为中文字节输出二、代码举例1.代码Demo2.DecodeString 函数说明函数语法:参数说明:返回值:使用示例:示例代码: 说明: 前言 有时候使用的时候&a…

边缘计算在智能交通系统中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在智能交通系统中的应用 边缘计算在智能交通系统中的应用 边缘计算在智能交通系统中的应用 引言 边缘计算概述 定义与原…

CC1链学习记录

🌸 前言 上篇文章学习记录了URLDNS链,接下来学习一下Common-Colections利用链。 🌸 相关介绍 Common-Colections是Apache软件基金会的项目,对Java标准的Collections API提供了很好的补充,在其基础上对常用的数据结构…

边缘计算在智能物流中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在智能物流中的应用 边缘计算在智能物流中的应用 边缘计算在智能物流中的应用 引言 边缘计算概述 定义与原理 发展历程 …

《多模稳控应急通讯设备技术规范》出炉,应急通讯有章可循!

近日,由深圳市遨游通讯设备有限公司参与的《多模稳控应急通讯设备技术规范》在经历多项严格的审核程序后,由中国中小商会企业协会正式发布实施。该标准详细规定了多模稳控应急通讯设备的术语和定义、产品型号、技术要求、试验方法、检验规则、标志、包装…

生成任意3D和4D场景!GenXD:通用3D-4D联合生成框架 | 新加坡国立微软

文章链接: https://arxiv.org/pdf/2411.02319 项目链接:https://gen-x-d.github.io/ 有视频 亮点直击 设计了一个数据整理流程,从视频中获取包含可移动物体的高质量4D数据,并为30,000个视频标注了相机姿态。这个大规模数据集称为CamVid-30K&…

全面解读:低代码开发平台的必备要素——系统策划篇

在传统开发过程中,系统策划起着举足轻重的作用,它宛如一位幕后的总指挥,把控着整个软件开发项目的走向。而随着技术的不断进步,低代码开发平台逐渐崭露头角,它以快速开发、降低技术门槛等优势吸引了众多企业和开发者的…

如何通过工单池与抢单机制提升企业服务效率与客户满意度?

在许多企业的售后服务或维修管理中,工单管理常常是一个瓶颈。工单处理不及时、任务分配不合理,或者客户的需求没有被准确跟踪,都可能影响到服务质量,进而影响客户满意度。随着企业规模扩大,如何高效管理工单池、合理调…

智慧电厂新纪元:基于亿信ABI的电厂环保指挥管控平台实践

​在当今全球能源转型与环境保护的双重驱动下,电力行业正加速向智能化、绿色化迈进。本案例聚焦于某电厂的智能化转型实践,通过引入先进的烟气达标监测技术与碳资产管理平台,不仅实现了对电厂排放的精准控制,还极大提升了碳数据的…

【C++练习】计算并输出1到10的所有整数的阶乘之和

题目: 计算并输出1到10的所有整数的阶乘之和 描述 编写一个C程序,定义一个函数来计算给定整数n的阶乘,然后在main函数中利用该函数计算从1到10(包括1和10)所有整数的阶乘,并将这些阶乘值累加起来&#x…

51c嵌入式~单片机合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的电平信号的MCU怎么通信? 下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。 先说一说这个电路的用途:当两个MCU在不同的工作电压下工作&…

ROM修改进阶教程------安卓14 安卓15去除app签名验证的几种操作步骤 详细图文解析

在安卓14 安卓15的固件中。如果修改了系统级别的app。那么就会触发安卓14 15的应用签名验证。要么会导致修改的固件会进不去系统,或者进入系统有bug。博文将从几方面来解析去除安卓14 15应用签名验证的几种方法。 💝💝💝通过博文了解: 1💝💝💝-----安卓14去除…

抓包工具WireShark使用记录

目录 网卡选择: 抓包流程: 捕获过滤器 常用捕获过滤器: 抓包数据的显示 显示过滤器: 常用的显示过滤器: 实际工作中,在平台对接,设备对接等常常需要调试接口,PostMan虽然可以进…

工单管理系统哪个好用?2000字详细整理

工单管理系统已经成为提高客户服务效率和质量的重要工具。随着市场上可供选择的工单管理系统越来越多,企业在选择合适的系统时常常感到困惑。本文将详细介绍几款主流的工单管理系统,以帮助企业做出明智的选择。 一、工单管理系统的重要性 工单管理系统…

Vim9 语法高亮syntax 在指定的缓冲区和窗口执行命令

背景:从开发,创建makefile、编译、单元测试、到生产部署都只有俺一个人,所以所有的工作都要自己完成,因此有了想法做一个插件,按需实现:构建Makefile,编译、打包、压缩、上传服务器、解压、安装…

群控系统服务端开发模式-应用开发-前端个人资料开发

一、总结 其实程序开发到现在,简单的后端框架就只剩下获取登录账号信息及获取登录账号菜单这两个功能咯。详细见下图: 1、未登录时总业务流程图 2、登录后总业务流程图 二、获取登录账号信息对接 在根目录下src文件夹下store文件夹下modules文件夹下的us…

Harmony- List组件最后一个item显示不全

在使用List组件显示数据的时候会出现最后一个item显示不全的问题,如下 出现在高度问题上,如果List组件上下没有其他占位组件就是正常显示的 解决方案: 1.给List组件加上layoutWeight(1),使它填满父控件剩余空间; 2.还有一种情况…

Go语言实现用户登录Web应用

文章目录 1. Go语言Web框架1.1 框架比较1.2 安装Gin框架 2. 实现用户登录功能2.1 创建项目目录2.2 打开项目目录2.3 创建登录Go程序2.4 创建模板页面2.4.1 登录页面2.4.2 登录成功页面2.4.3 登录失败页面 3. 测试用户登录项目3.1 运行登录主程序3.2 访问登录页面3.3 演示登录成…

25浙江省考--两大模块(数量关系+常识判断)题型积累【2024.12.8考前每日更新】

行政执法C卷,两大模块题量占比:35/115,每题 100 115 \frac{100}{115} 115100​分,时间分配:20~35分钟,留10分钟涂卡 数量关系【题量占比:15/115】【时间分配:15~30分钟】 数字推理…

【掌握未来办公:OnlyOffice 8.2深度使用指南与新功能揭秘】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 一、功能亮点1. PDF文档的协同编辑2. PDF表单的电子签名3. 界面的现代化改造4. 性能的显著提升5. 文…