【python 1】----Pytest基础知识

  • 定义

用于编写和执行Python测试全功能测试框架(工具),是一个第三方库

  • 安装

pip insatll pytest  安装

pytest --version  校验
  • pytest的组成构成

  • 不写调用语句也可以执行函数内容

  • 在用例运行语句里面: 

  1. -s:指的是开启与终端的交互,如果没有-s(程序不会输入与打印),一条用例执行完会有个点号  
  2. -v:可以让运行结果更加详细输出
  3. 也可以缩写成-sv    -vs
  • 了解pytest的命名规则,是依靠这个命名规则去调用自己的测试用例函数(当运行了main里面的指令,会在这个当前运行指令文件相对同级的目录或者下层目录里面找test_开头或者test_结尾的.py文件,找到文件后找到以test开头的函数或者Test开头的类)

1.只能找到test_开头或者test_结尾的文件

2.文件里面的函数必须以test开头

3.文件里面的类也必须是以Test开头

  • pytest常用运行方式

  • 命令行运行:Terminal里面   

  1. %文件名%
  2. pytest----不加参数     % pytest  -s-----pytest["-s'']   
  3. 指定用例运行:% pytest  测试用例的函数名称.py  -s
  4. 指定文件里面的类运行:% pytest  文件名.py::类名-sv
  5. 指定文件里面类的某条用例运行:% pytest  文件名.py::类名:用例名   -sv
  • main里面的文件运行

  • pytest的用例前置和后置处理

  • setup:对应写功能的预置条件(登陆功能前得要注册)teardown:对应写功能的后置条件------文件的前置和后置(等同于setup_model  /teardown_model)

  • setup_function   teardown_function函数的执行前置和后置

  • 类中的前后置:在整个类之前或者之后执行

  • pytest标签使用

  • 在用例里面增加定义,可以指定用例运行和过滤用例

  • 使用@pytest.mark.标签名

  1. 自定义标签名:不可以用数字开头,也不可以为汉字
  2. 可以在pytest.ini文件里面进行定义,这样控制台就不会打印出警告

  • 作用:

  1. 可以运行标签名一样的用例,相当于过滤方式

  1. 跳过用例方式

  1. 支持逻辑判断( or   and    in  not)

  •  pytest的conftest应用

  • conftest.py是⼀个特殊的⽂件,⽤于管理测试⽤例中需要通⽤数据传递。

  • 可以自动调用

  • 可以自动打印前置和后置(基于一条用例的)

  • 将它前置和后置换换成基于文件的,而不是基于一条用例的

  • 只在整个大的用例里面加上前置和后置

  • 用例参数化

  •  pytest的ini⽂件的使⽤(文件命名必须是pyutest.ini)

  • 配置默认的命令⾏

[pytest]
addopts = -v -s 
  • 配置筛选文件(关联参数实现筛选)

[pytest]
addopts = -v -s  -k  筛选的用例名称
  • 选择要运⾏的测试⽂件或⽬录:

[pytest]
testpaths = tests/
  • 自定义搜索规则

[pytest]
python_files = test_*.py
python_classes = Test*
python_functions = test_*
  • 禁用警告信息

#禁用warning插件
[pytest]
addopts = --disable-warnings

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CSP试题回顾】201512-2-消除类游戏

CSP-201512-2-消除类游戏 解题思路 输入棋盘大小和颜色: 首先,程序从标准输入读取两个整数n和m,分别代表棋盘的行数和列数。然后,程序读取接下来的n行输入,每行包含m个整数,代表棋盘上每个方格中的棋子颜色。 初始化…

电子台账:通过标签颜色快速区分某月账页是否为空、是否锁定

目录 1 数据为空的账页,标签顶部没有标记色条 2 包含有效数据的账页且未进行锁定,标签顶部为深绿色标记色条 3 包含有效数据的账页且被锁定,标签顶部为橙色标记色条 通过设置账页标签的颜色,快速区分哪些月份的账页数据为空&am…

【书生·浦语大模型实战营】第6节 OpenCompass 大模型评测 课后作业

OpenCompass 大模型评测 0. 课程链接1. 课后作业1.1 基础作业1.2 进阶作业 2. 结业总结 0. 课程链接 链接:https://github.com/InternLM/tutorial/blob/main/opencompass/opencompass_tutorial.md 1. 课后作业 1.1 基础作业 使用 OpenCompass 评测 InternLM2-Cha…

python高级之元类

python高级之元类 一、Type创建类1、传统方式创建类2、非传统方式 二、元类三、总结 一、Type创建类 class A(object):def __init__(self, name):self.name namedef __new__(cls, *args, **kwargs):data object.__new__(cls)return data根据类创建对象 objA(‘kobe’) 1、执…

机器视觉相关网站推荐

机器视觉相关网站推荐 - 知乎计算机视觉(Computer Vision)最近这几年发展迅速,技术论坛和QQ群也如雨后春笋,特别是人脸检测/识别领域。近段时间云从君从研究院那里探得了好几个论坛,收藏了若干网站,记录下&…

领域驱动设计(Domain-Driven Design DDD)——战略设计2

二、保持模型的完整性 2、模式:Continuous Integration 定义一个Bounded Context后,必须让它保持合理。 当很多人在同一个Bounded Context中工作时,模型很容易发生分裂。团队越大,问题就越大,但即使是3、4个人的团队也…

状压dp详解,棋盘式、集合型,OJ详解

文章目录 零、引例-小国王1.问题描述2.暴力枚举3.多维dp4.维度压缩 一、状压dp1.认识状压dp2.棋盘式(基于连通性)2.1小国王2.1.1题目链接2.1.2思路分析2.1.3AC代码 2.2玉米田2.2.1题目链接2.2.2思路分析2.2.3AC代码 2.3炮兵阵地2.3.1题目链接2.3.2思路分析2.3.3AC代码 2.4蒙德里…

C++ 快速排序快速选择OJ

目录 1、75. 颜色分类 2、912. 排序数组 3、 215. 数组中的第K个最大元素 4、LCR 159. 库存管理 III 1、75. 颜色分类 思路:利用快速排序思路,使用三指针分块进行优化。 [0,left]——小于key[left1,right-1]——等于key[right,nums.size()]——大于k…

抖店怎么做起来?2024新版操作逻辑,做项目要做一米宽万米深

我是王路飞。 不知不觉间,我已经在抖音电商这条赛道深耕走过了四年。 这四年里,我们有了自己的黑标品牌旗舰,有了自己的仓库配套周边,有了自己的模式体系人员,有了数不清的类目和产品操作经验。 收获着身后团队伙伴…

107. sort( )方法-排序列表元素(上)

107. sort( )方法-排序列表元素(上) 【目录】 文章目录 107. sort( )方法-排序列表元素(上)1. 作用2. 语法3. 数值列表排序4. key str.lower 排序时不区分字母大小写5. 如何理解区分大小写6. key len 按照元素的长度进行排序7.…

Objective-C blocks 概要

1.block的使用 1.1什么是block? Blocks是C语言的扩充功能:带有自动变量(局部变量)的匿名函数。 “带有自动变量”在Blocks中表现为“截取自动变量" “匿名函数”就是“不带名称的函数” 块,封装了函数调用及调用…

Tailscale中继服务derper使用docker-compose部署

docker启动 docker run --restart always \--name derper -p 12345:12345 -p 3478:3478/udp \-v /root/.acme.sh/xxxx/:/app/certs \-e DERP_CERT_MODEmanual \-e DERP_ADDR12345 \-e DERP_DOMAINxxxx \-d ghcr.io/yangchuansheng/derper:latestdocker-compose启动 version: …

STM32(18)I2C

串口通信缺点 一个设备就需要一个串口,单片机可能没有那么多串口外设 总线/非总线 主机:负责管理总线,可控制波特率、数据的通信方向 波特率:由主机产生波特率信号 数据的传输 每个从机都有7位地址,最后移位是读&a…

Android开发教程入门,那些被大厂优化的程序员们

Binder原理 1、概述 Android系统中,涉及到多进程间的通信底层都是依赖于Binder IPC机制。例如当进程A中的Activity要向进程B中的Service通信,这便需要依赖于Binder IPC。不仅于此,整个Android系统架构中,大量采用了Binder机制作…

计算机形式严峻,二本计算机研究生有没有必要读?

有一说一,不值得 现在的就业形式确实严峻,但是我觉得读一个二本的研究生并不能给你带来太大的价值,首先就是就业投简历的时候,面试官面对大量的简历,往往都是先按照学校筛选,985和211的放在一块&#xff0…

画图解题思路( ccf 201512-3)

分析 首先需要转换坐标系,可以将两个坐标系的点写出来,对比一下找规律 可以发现题目中的坐标(x, y)转变成数组坐标系为(n - y - 1, x); 然后再判断是画线还是填充 画线:先转换题目坐标,再遍历画线 填充:采用dfs

如何比较字形相同但编码不同的两个字

今天在做字符串比较时遇到个很新奇的问题,在此记录一下。 字符串比较最常用的方法就是equals方法,来看一下下面这个比较会返回什么结果呢? public static void main(String[] args) {{String s1 "⽹"; // 12153String s2 "…

HplusAdmin ASP.NET基本权限管理系统

HplusAdmin 介绍 一套ASP.NET WebForm(不用控件) hplusasp.netsqlserver 基本权限管理系统 http://hplus.baocaige.top 暂不开源,需要的滴滴或者留下邮箱!!! 账号 普通账号 账号:user 密码:Aa123456普…

【笔记版】edgecore.yaml分析总结

1. 文件路径 /etc/kubeedge/config edgecore.yaml是该目录下唯一的文件 附上链接:edgecore.yaml 2. 文件生成方式 2.1 方式一 使用keadm安装部署的方式,执行完keadm join --cloudcore-ipportcloudcore监听的IP地址:端口(默认为10002&…

1688商品详情数据采集,工程数据采集丨店铺数据采集丨商品详情数据采集

1688是中国的一个大型B2B电子商务平台,主要用于批发和采购各种商品。对于需要从1688上获取商品详情数据、工程数据或店铺数据的用户来说,可以采用以下几种常见的方法: 官方API接口:如果1688提供了官方的API接口,那么可…
最新文章