每日面经分享(pytest入门)

1. pytest具有什么功能

a. 自动发现和执行测试用例:pytest可以自动发现项目中的测试文件和测试函数,无需手动编写测试套件或测试运行器。
b. 丰富的断言函数:pytest提供了丰富的断言函数,方便地验证测试结果是否符合预期。断言函数可以比较值、集合、异常等。
c. 参数化测试:pytest支持使用装饰器@pytest.mark.parametrize来标记测试函数,避免编写重复的测试代码。
d. 夹具(fixture)支持:夹具是pytest的一个重要概念,在测试函数执行前后进行准备和清理工作的机制。便于共享测试资源和重用测试代码。
e. 插件机制:pytest具有丰富的插件生态系统,通过安装和配置插件来扩展和定制pytest的功能。插件用于生成自定义的测试报告、执行覆盖率分析、集成其他工具等。
f. 丰富的命令行选项:pytest提供许多命令行选项,用于过滤测试用例、配置测试的运行方式、控制日志输出等。
g. 异常和失败处理:pytest能够处理测试用例中的断言失败和异常情况,并提供详细的错误信息和调试信息,方便问题定位和排查。
h. 测试收集和运行控制:pytest根据目录结构、文件名和自定义规则来收集和运行测试用例。通过配置文件或命令行选项来控制测试的范围和顺序。
i. 与其他测试框架的兼容性:pytest可以与其他常见的测试框架(如unittest)兼容,运行已经编写的测试代码,无需进行大量的修改。

2. 使用pytest的方法

a. 安装pytest

pip install pytest

b. 编写测试用例:在项目中创建一个目录,用于存放测试代码。在该目录中,编写测试用例的Python文件。测试用例是普通的Python函数,以test_开头,并使用assert语句来验证结果。

# test_example.pydef test_addition():assert 2 + 2 == 4def test_subtraction():assert 5 - 3 == 2

c. 运行测试:在命令行中,切换到项目目录下,然后运行pytest命令。pytest会自动发现并执行项目中的测试用例。

pytest

d. 查看测试结果:pytest会输出测试结果的摘要信息,包括测试用例的数量、通过的数量和失败的数量。如果有测试失败,pytest会提供详细的错误信息。

============================= test session starts ==============================
...
collected 2 itemstest_example.py ..                                                        [100%]=========================== 2 passed in 0.01 seconds ===========================

互联网大厂测开经历,目前担任测试开发负责人,每天分享互联网面经,如果你有测试相关的问题,欢迎咨询,海鲜市场【简历优化】、【就业指导】、【模拟/辅导面试】,已辅导20位以上同学拿到心仪offer

海鲜市场

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

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

相关文章

flask的使用学习笔记1

跟着b站学的1-06 用户编辑示例_哔哩哔哩_bilibili flask是一个轻量级,短小精悍,django大而全 创建: manage.py和一个和项目名称相同的目录(static(前端生成的dist)、templates(html文件&…

【吴恩达机器学习笔记】神经网络初探

前言 传统机器学习不足 【例】预测房价,不同的房子有上百个特征 如果要包含所有的二次项(即使只是二次),最终也有很多项, 每个参数都有 n 个变量,那二次项数量将会是 n^2 /2 级别的量级,模型…

并查集

本文用于个人算法竞赛学习,仅供参考 目录 一.什么是并查集 二.并查集实现 三.路径优化 四.时间复杂度 五.并查集路径压缩 模板 五.题目 一.什么是并查集 并查集(Disjoint Set)是一种数据结构,用于处理一系列不相交的集合的合…

一文了解JAVA的常用API

目录 常用kpimathSystemRuntimeObjectObjectsBigIntegerBigDecima正则表达式包装类 常用kpi 学习目的: 了解类名和类的作用养成查阅api文档的习惯 math 工具类。因为是工具类,因此直接通过类名.方法名(形参)即可直接调用 abs:获取参数绝对…

Linux学习:进程(4)程序地址空间(笔记)

目录 1. Linux下各种资源的内存分布2. 物理地址与虚拟(线性)地址3. 程序地址空间的区域划分4. 地址映射与页表5. 缺页中断 1. Linux下各种资源的内存分布 2. 物理地址与虚拟(线性)地址 在有关进程创建的初步学习中,我们了解了fork函数创建子进程的方式。此种进程的创…

Spring Boot 一.基础和项目搭建(上)

之前也自学过SSM框架,Spring Boot框架,也动手写过几个项目,但是这是第一次完整的记录。从0开始,把一些细节整理了一下。 大概会分为十几小节,这是一个学习的过程,更是一个思考的过程,废话不多说…

金融汽车科技LLM

汇丰银行 众安保险 1. AIGC重塑保险价值链 小额高频 2.构建智能应用的技术方案演进 增加微服务 长记忆:向量库短记忆:对话历史,思考路径,执行历史 中台架构设计 蔚来汽车在大模型的应用实践 公司介绍 应用架构 应用实践 4.大…

Django框架之DRF(武沛齐全)

一、FBV和CBV FBV,function base views,其实就是编写函数来处理业务请求。 from django.contrib import admin from django.urls import path from app01 import views urlpatterns [path(users/, views.users), ] from django.http import JsonResp…

快速排序---算法

1、算法概念 快速排序:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的数据均比另一部分的数据小,则可分别对这两部分记录继续进行排序,以达到震哥哥序列有序。 快速排序的最坏运行情况是O(),比如说顺序数…

网络基础二补充——json与http协议

五、市面上常用序列化和反序列化工具 ​ 常用的有:json、protobuf、xml三种方案; 5.1json的使用 1.安装jsoncpp库,是一个第三方的开发库文件; sudo yum install -y jsoncpp-devel2.使用json ​ 经常使用的头文件是json.h&…

【uC/OS-III篇】uC/OS-III 创建第一个任务(For STM32)

uC/OS-III 创建第一个任务(For STM32) 日期:2024-3-30 23:55,结尾总结了今天学习的一些小收获 本博客对应的项目源码工程 源码项目工程 1. 首先定义错误码变量 // 用于使用uC/OS函数时返回错误码 OS_ERR err; 2. 定义任务控制…

Golang | Leetcode Golang题解之第2题两数相加

题目: 题解: func addTwoNumbers(l1, l2 *ListNode) (head *ListNode) {var tail *ListNodecarry : 0for l1 ! nil || l2 ! nil {n1, n2 : 0, 0if l1 ! nil {n1 l1.Vall1 l1.Next}if l2 ! nil {n2 l2.Vall2 l2.Next}sum : n1 n2 carrysum, carry …

Vue ElementPlus Input输入框

Input 输入框 通过鼠标或键盘输入字符 input 为受控组件,它总会显示 Vue 绑定值。 通常情况下,应当处理 input 事件,并更新组件的绑定值(或使用v-model)。否则,输入框内显示的值将不会改变。不支持 v-mode…

【面试经典150 | 动态规划】最小路径和

文章目录 写在前面Tag题目来源解题思路方法一:动态规划方法二:空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题…

MCGS学习——水位控制

要求 插入一个水罐,液位最大值为37插入一个滑动输入器,用来调节水罐水位,滑动输入器最大调节为液位最大值,并能清楚的显示出液位情况用仪表显示水位变化情况,仪表最大显示设置直观清楚方便读数,主划线为小…

设计模式-结构型-享元模式Flyweight

享元模式的特点: 享元模式可以共享相同的对象,避免创建过多的对象实例,从而节省内存资源 使用场景: 常用于需要创建大量相似的对象的情况 享元接口类 public interface Flyweight { void operate(String extrinsicState); } 享…

如何使用极狐GitLab 自定义 Pages 根域名

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了极狐GitLab Pages …

普发Pfeiffer 真空TCP120-TCP380-TCP035-TCP600 使用手侧

普发Pfeiffer 真空TCP120-TCP380-TCP035-TCP600 使用手侧

C++进阶:多态(笔记)

目录 1. 多态相关概念1.1 简述:多态1.2 概念汇总与补充 2. 多态重写的底层原理2.1 虚函数存储的结构与位置2.2 重写覆盖 1. 多态相关概念 1.1 简述:多态 1. 什么是多态 不同的对象去做同一个行为时,得到的结果不同。反应到编程语言中&#…

Go语言HTTP服务实现GET和POST请求的同时支持

引言 在现代的Web开发中,HTTP服务是构建网络应用程序的基础。而支持GET和POST请求是其中最基本、最常见的功能之一。GET请求用于从服务器获取数据,而POST请求则用于向服务器提交数据。在Go语言中,通过标准库中的net/http包,我们可…