当前位置: 首页 > news >正文

【pytest】单元测试文件的写法

前言

可怜的宾馆,可怜得像被12月的冷雨淋湿的一条三只腿的黑狗。——《舞舞舞》

在这里插入图片描述


\;\\\;\\\;

目录

    • 前言
    • test_1或s_test格式
    • 非测试文件
    • @pytest.fixture()装饰器
    • pytest+selenium

test_1或s_test格式

要么 test_前缀 在前,要么 _test后缀 在后!

#test_1.py
def test_1():name='aa'assert 'bb'==namedef test_2():name='a'assert 'bcb'==namedef test_3():a = 1assert a == 2def test_4():a = 4assert a == 2assert 'a' in 'abc'assert 'a' not in 'abc'assert 'a' is not Trueassert 'a' is False

右击可以单独运行某个函数,看看哪个错了!

class TestTint:def test_5(self):a = 1assert a == 2def test_6(self):a = 1assert a == 2def test_7(self):a = 1assert a == 2

在这里插入图片描述

\;\\\;\\\;

非测试文件

如果是按pytest格式的文件名,但是内容不是测试的话,那么会出现(没有发现测试)

#test_calc.py
a = 1
b = 2
print(a + b)

在这里插入图片描述
\;\\\;\\\;

@pytest.fixture()装饰器

import pytest@pytest.fixture(scope='function')
def fixture1():print('前置步骤1')return 4@pytest.fixture(scope='function')
def fixture2():print('前置步骤2')return 2@pytest.fixture(scope='function',autouse=True)
def fixture3():print('前置步骤3')return 2def test_1(fixture1,fixture2):assert fixture1 == 2assert fixture2 == 2def test_2(fixture3):assert fixture3 == 2if __name__ == '__main__':pytest.main()

可以在测试函数的位置,右击运行test_1或test_2函数

\;\\\;\\\;

pytest+selenium

关于selenium使用的edge驱动器,版本要和电脑上装的edge版本一致!

pytest类要以Test为前缀

#test_f.py
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
import pytest# 前置方法
@pytest.fixture(scope='class')
def driver():driver = webdriver.Edge(executable_path=r"C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts\msedgedriver.exe")#C:\ProgramData\anaconda3\Scripts\msedgedriver.exereturn driverclass TestSpider:# fixture函数作为形参def test_baidu(self, driver):driver.get('https://www.baidu.com/')title = driver.titleurl = driver.current_urltext = driver.find_element(By.CSS_SELECTOR, "a[href*='news.baidu.com']").textbutton = driver.find_element(By.ID, 'su').get_attribute('value')# 检测assert title == '百度一下,你就知道'assert url == 'https://www.baidu.com/'assert text == '新闻'assert button == '百度一下'# sleep(3)
# driver.close()if __name__ == '__main__':pytest.main()

运行命令 pytest test_f.py

相关文章:

【pytest】单元测试文件的写法

前言 可怜的宾馆,可怜得像被12月的冷雨淋湿的一条三只腿的黑狗。——《舞舞舞》 \;\\\;\\\; 目录 前言test_1或s_test格式非测试文件pytest.fixture()装饰器pytestselenium test_1或s_test格式 要么 test_前缀 在前,要么 _test后缀 在后! …...

arcgis for js 添加自定义叠加图片到地图坐标点上

在使用arcgis for js开发地图绘制图层时,可以通过相关api实现添加图标到某个坐标点,那么如果现在有一个需要添加一个小图叠大图的需求,又或者是自定义绘制图标,如何实现? 1、简单地绘制一个图标到底图图层上面 const…...

记录 | linux下互换键盘的Ctrl和CapsLock键

互换ctrl和CapsLK setxkbmap -option "ctrl:swapcaps"打开设置文件: sudo vim /etc/default/keyboard将其中的XKBOPTIONS中添加ctrl:swapcaps即可,如下所示: # KEYBOARD CONFIGURATION FILE# Consult the keyboard(5) manual pa…...

【公网远程手机Android服务器】安卓Termux搭建Web服务器

🎥 个人主页:深鱼~🔥收录专栏:cpolar🌄欢迎 👍点赞✍评论⭐收藏 目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程…...

【银行测试】金融项目+测试方法范围分析,功能/接口/性能/安全...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、金融行业软件特…...

Java网络编程——安全网络通信

在网络上,信息在由源主机到目标主机的传输过程中会经过其他计算机。在一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易时,网络上的信息有可能被非法分子监听,从而导致个人隐私的泄露。由于Intern…...

云原生数据库是什么?它的作用是啥?

目前来说,各厂商的云原生数据库在演进路线上分成了两个略有不同的路径来解决不同的问题。 一种是各大公有云厂商选择的,优先保证上云兼容性的路线,就是基于存算分离架构对传统数据库进行改造的路线:通过把大量的日志操作放到后台…...

使用ansible批量初始化服务器

简介 本文详细介绍ansible怎么批量初始化服务器,包括ansible批量初始化服务器详细配置和步骤,有需要的小伙伴们可以参考借鉴,希望对大家有所帮助。 详细步骤 1、ansible要初始化的主机 [rootnginx ansible]# tail -3 /etc/ansible/hosts …...

国标GB28181安防视频云平台EasyCVR出现持续重启现象,是什么问题?该如何解决?

视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能…...

【APP安卓测试工具】adb(Android Debug Bridge)

1.常见的命令 列出已连接的设备 adb device安装 adb install <APK文件路径>卸载 adb uninstall <APK文件路径>启动和停止 adb shell am start -n <包名>[/<Activity>]adb shell am force -stop <包名>截屏和录屏 adb shell screencap <文件路…...

图像融合领域的挑战

图像融合是将来自不同传感器或不同时间的多个图像集成为信息更丰富的单个图像的过程&#xff0c;通常预计更有利于人类或机器感知或进一步的图像处理任务。 以下是图像融合研究中的一些众所周知的挑战&#xff1a; 保持图像质量&#xff1a;确保融合图像保留每个源图像的重要特…...

Tomcat配置成服务、开机自启动

Tomcat配置成服务、开机自启动 问题解决方案 问题 在配置成开机自启动的服务时&#xff0c;遇到了如下提示。 最终原因是因为双击apache-tomcat-9.0.83\bin\tomcat9w.exe&#xff0c;在弹出的的“Startup”选项卡中的mode没有设置为Java 解决方案 右键“我的电脑”——管理—…...

IntelliJ IDEA创建一个spark的项目

在开始之前&#xff0c;需要说明的是 要跑通基本的wordcount程序&#xff0c;是不需要在windows上安装 hadoop 和spark的&#xff0c;因为idea在跑程序的时候&#xff0c;会按照 pom.xml配置文件&#xff0c;从指定的 repository源&#xff0c;按照properties指定的版本&#x…...

【数据库】数据库多种锁模式,共享锁、排它锁,更新锁,增量锁,死锁消除与性能优化

多种锁模式的封锁系统 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会…...

串口通信(1)-硬件知识

本文讲解串口通信的硬件知识。让读者快速了解硬件知识&#xff0c;为下一步编写代码做基础。 目录 一、概述 二、串口通信分类 2.1信息的传送方向进行分类 2.2同步通信和异步通信 三、串口协议 3.1 RS232 3.1.1 电气特性 3.1.2 连接器的机械特性 3.1.3 连接类型 3.1…...

越南语翻译,人工翻译哪个值得信赖?

近年来&#xff0c;随着中越两国的交流日益频繁&#xff0c;为了促进双方的交流与理解&#xff0c;市场上对越南语翻译的需求也日益增加。那么&#xff0c;如何做好越南语翻译&#xff0c;人工翻译哪家公司值得信赖呢&#xff1f; 据了解&#xff0c;中文翻译越南语是一项颇具挑…...

攻防世界题目练习——Web引导模式(五)(持续更新)

题目目录 1. FlatScience2. bug3. Confusion1 1. FlatScience 参考博客&#xff1a; 攻防世界web进阶区FlatScience详解 题目点进去如图&#xff0c;点击链接只能看到一些论文pdf 用dirsearch和御剑扫描出一些隐藏文件&#xff1a; robots.txt: admin.php: login.php: f…...

attack vector

攻击介质&#xff0c;是指可以攻击信息系统&#xff0c;破坏其安全性的特定路径、方法或是情景。 vector 此处并不是向量的意思。...

好看的早上问候语早安图片,今天最新唯美温馨祝福语

1、天气冷了&#xff0c;情谊不凉&#xff0c;树叶黄了&#xff0c;思念不忘&#xff0c;问候像一杯热茶&#xff0c;让人暖心&#xff01;祝愿我们与健康平安同行&#xff01;朋友们&#xff0c;大家早上好&#xff01; 2、多一个人牵挂是一种幸福&#xff1b;多一个人相知是一…...

人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码

人体关键点检测2&#xff1a;Pytorch实现人体关键点检测(人体姿势估计)含训练代码 目录 人体关键点检测2&#xff1a;Pytorch实现人体关键点检测(人体姿势估计)含训练代码 1. 前言 2.人体关键点检测方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法&#xff1…...

OpenClaw未来展望:Qwen3-4B与Agent技术融合趋势

OpenClaw未来展望&#xff1a;Qwen3-4B与Agent技术融合趋势 1. 从工具到伙伴&#xff1a;个人自动化助手的进化之路 去年冬天的一个深夜&#xff0c;我正为一份紧急报告焦头烂额时&#xff0c;电脑突然弹出一条提示&#xff1a;"检测到您连续工作超过4小时&#xff0c;已…...

编程新手学编程,先学C语言还是C++?学姐告诉你答案

身为一名编程方面的新手&#xff0c;大家都会遭遇的一个疑问是&#xff1a;是要先去学习C语言&#xff0c;还是要先去学习C&#xff1f;有些同学会认为倘若我先着手学习C&#xff0c;之后再回过头来学习C语言&#xff0c;这样是不是会更为简便&#xff1f;毕竟&#xff0c;升级…...

nli-distilroberta-base精彩案例:开源项目README与代码功能逻辑一致性验证

nli-distilroberta-base精彩案例&#xff1a;开源项目README与代码功能逻辑一致性验证 1. 项目概述 在开源项目开发中&#xff0c;README文档与代码实现的一致性至关重要。nli-distilroberta-base作为基于DistilRoBERTa的自然语言推理(NLI)Web服务&#xff0c;为解决这一问题…...

汽车BCM控制器实战:从零搭建HIL测试环境(附Python自动化脚本)

汽车BCM控制器HIL测试环境搭建实战指南 车身控制模块&#xff08;BCM&#xff09;作为现代汽车电子架构中的核心枢纽&#xff0c;其稳定性直接影响着整车的舒适性与安全性。本文将带您从零开始构建一套完整的硬件在环&#xff08;HIL&#xff09;测试环境&#xff0c;覆盖从台架…...

ctfileGet:城通网盘高速直链提取完整指南

ctfileGet&#xff1a;城通网盘高速直链提取完整指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet ctfileGet是一款专门用于获取城通网盘一次性直连地址的开源工具&#xff0c;通过智能解析技术帮助用…...

无需前端开发!Clawdbot配置Qwen3-32B,快速拥有Web聊天界面

无需前端开发&#xff01;Clawdbot配置Qwen3-32B&#xff0c;快速拥有Web聊天界面 1. 为什么选择Clawdbot整合Qwen3-32B&#xff1f; 你是否遇到过这样的困境&#xff1a;团队内部部署了强大的Qwen3-32B大模型&#xff0c;却因为缺乏友好的交互界面而难以推广使用&#xff1f…...

从read()到硬盘:用strace和bpftrace动态追踪Linux内核文件读取的完整路径(附实战脚本)

从read()到硬盘&#xff1a;用strace和bpftrace动态追踪Linux内核文件读取的完整路径&#xff08;附实战脚本&#xff09; 当线上服务出现文件读取延迟时&#xff0c;大多数系统工程师的第一反应是检查磁盘I/O指标。但真正的挑战在于&#xff1a;如何准确定位从用户态系统调用到…...

Youtu-VL-4B-Instruct保姆级部署教程:5分钟搞定看图说话AI,小白也能快速上手

Youtu-VL-4B-Instruct保姆级部署教程&#xff1a;5分钟搞定看图说话AI&#xff0c;小白也能快速上手 1. 为什么选择Youtu-VL-4B-Instruct&#xff1f; Youtu-VL-4B-Instruct是一个能同时理解图片和文字的AI模型&#xff0c;它基于腾讯优图实验室开发的40亿参数视觉语言模型。…...

C++ 智能指针的生命周期分析

C智能指针的生命周期分析 在现代C开发中&#xff0c;智能指针是管理动态内存的重要工具&#xff0c;它通过自动化的资源管理机制显著降低了内存泄漏和悬垂指针的风险。理解智能指针的生命周期对于编写高效、安全的代码至关重要。本文将深入分析智能指针的生命周期&#xff0c;…...

Unity游戏开发:Highlight Plus 8.0在URP渲染管线下的完整配置指南(含常见问题解决)

Unity游戏开发&#xff1a;Highlight Plus 8.0在URP渲染管线下的完整配置指南&#xff08;含常见问题解决&#xff09; 在Unity游戏开发中&#xff0c;模型高亮效果是提升交互体验的关键技术之一。Highlight Plus作为一款功能强大的高亮插件&#xff0c;能够为3D模型添加轮廓光…...