pytest实战演练
pytest实战演练
pycharm常见操作
创建项目使用虚拟环境

创建文件夹的时候建议使用的创建方式

- 这样创建是因为python3.0版本之后导包无区别,之前版本导包会报错的
_init_.py文件中建议为空不写内容

_all_=[]的含义
- 是将列表中的方法或变量或类暴漏出去便于使用的
- 生效方法,当调用模块中使用 import * 时才生效

联动git使用











pytes实战2
#####测试代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-class Calc:def add(self, a, b):return a + bdef div(self, a, b):return a / b
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import unittestfrom pytest_exercise.python.calc import Calcclass TestCal(unittest.TestCase):def test_add_1(self):self.calc = Calc()result = self.calc.add(1, 2)self.assertEqual(3, result)if __name__ == '__main__':unittest.main()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import unittestimport pytestfrom pytest_exercise.python.calc import Calcclass TestCal():def setup(self):self.calc = Calc()def test_add_1(self):result = self.calc.add(1, 2)print(result)assert 3 == resultdef test_div(self):self.calc = Calc()result = self.calc.div(2, 2)assert 1 == resultif __name__ == '__main__':pytest.main(["-vs", "test_pytest.py::TestCal::test_div"])
新特性,自定义变量后的数据类型提示格式
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# type:类星体是class Calc:def add(self, a: int, b: int) -> int:return a + bdef div(self, a, b):return a / b
pytest常用参数
#####pytest --collect-only

pytest按顺序执行
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import unittestimport pytestfrom pytest_exercise.python.calc import Calcclass TestCal():def setup(self):self.calc = Calc()@pytest.mark.run(order=2)def test_add_1(self):result = self.calc.add(1, 2)print(result)assert 3 == result@pytest.mark.run(order=1)def test_div(self):self.calc = Calc()result = self.calc.div(2, 2)assert 1 == resultif __name__ == '__main__':pytest.main(["-vs", "test_pytest.py::TestCal"])
pytest.ini文件的应用(修改匹配对应的测试用例的方法)



导出依赖包

反射代码片段
#!/usr/bin/env python
# -*- coding: utf-8 -*-class Person:def __init__(self, name):self.name = namedef eat(self):print(f"{self.name} is eating")p = Person('jerry')print(hasattr(p, 'name'))
f = getattr(p, "eat")
f()
init__(self, name):
self.name = name
def eat(self):print(f"{self.name} is eating")
p = Person(‘jerry’)
print(hasattr(p, ‘name’))
f = getattr(p, “eat”)
f()
相关文章:
pytest实战演练
pytest实战演练 pycharm常见操作 创建项目使用虚拟环境 创建文件夹的时候建议使用的创建方式 这样创建是因为python3.0版本之后导包无区别,之前版本导包会报错的 _init_.py文件中建议为空不写内容 _all_[]的含义 是将列表中的方法或变量或类暴漏出去便于使用的生效…...
7、关于LoFTR
7、关于LoFTR LoFTR论文链接:LoFTR LoFTR的提出,是将Transformer模型的注意力机制在特征匹配方向的应用,Transformer的提取特征的机制,在自身进行,本文提出可以的两张图像之间进行特征计算,非常适合进行特…...
硬件工程师笔试面试知识器件篇——电感
目录 3、电感 3.1、基础 电感原理图 电感实物图 3.1.1、定义与单位 1)定义: 2) 单位: 3.1.2、物理原理 1)法拉第电磁感应定律: 2)楞次定律: 3.1.3、电感器的构造 3.1.4、类型 3.1.5、应用 3.1.6、特性 3.1.7、设计考虑 3.2、相关问题 3.…...
代码随想录八股训练营第三十六天| C++
前言 一、push_back()和emplace_back()的区别? 1.1.push_back(): 1.2.emplace_back(): 1.3.区别总结: 1.4.使用场景: 二、map dequeu list 的实现原理? 2.1.std::map: 2.2. std::deque: 2.3. std::list: 2.4. 区别总结: 总结 前言…...
学习计算机网络
a类0~127,b类128~191,c类192~223 网络地址:看子网掩码,分网络位和主机位,后面是主机位,主机位全部为0,网络地址。 直接广播地址:看子网掩码,分网络位和主机位ÿ…...
Django发送邮件
【图书介绍】《Django 5企业级Web应用开发实战(视频教学版)》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 Django 5框架Web应用开发_夏天又到了的博客-CSDN博客 本文学习怎么使用Django发送邮件。 尽管使用Python的smtplib模块发送电子邮件…...
T7:咖啡豆识别
T7:咖啡豆识别 **一、前期工作**1.设置GPU,导入库2.导入数据3.查看数据 **二、数据预处理**1.加载数据2.可视化数据3.配置数据集 **三、构建CNN网络模型**1、手动搭建2、直接调用官方模型 **四、编译模型****五、训练模型****六、模型评估****七、预测**八、暂时总结…...
【MATLAB】FIR滤波器的MATLAB实现
FIR滤波器的MATLAB实现 FIR滤波器的设计fir1函数fir2函数 与IIR滤波器相比,FIR滤波器既有其优势也有其局限性。FIR滤波器的主要优点包括: 精确的线性相位响应;永远保持稳定性;设计方法通常是线性的;在硬件实现中具有更…...
【RabbitMQ之一:windows环境下安装RabbitMQ】
目录 一、下载并安装Erlang1、下载Erlang2、安装Erlang3、配置环境变量4、验证erlang是否安装成功 二、下载并安装RabbitMQ1、下载RabbitMQ2、安装RabbitMQ3、配置环境变量4、验证RabbitMQ是否安装成功5、启动RabbitMQ服务(安装后服务默认自启动) 三、安…...
ISO26262和Aspice之间的关联
ASPICE 介绍: ASPICE(Automotive Software Process Improvement and Capability dEtermination)是汽车软件过程改进及能力评定的模型,它侧重于汽车软件的开发过程。ASPICE 定义了一系列的过程和活动,包括需求管理、软…...
对极约束及其性质 —— 公式详细推导
Title: 对极约束及其性质 —— 公式详细推导 文章目录 前言1. 对极约束 (Epipolar Constraint)2. 坐标转换 (Coordinate Transformations)3. 像素坐标 (Pixel Coordinates)4. 像素坐标转换 (Transformations of Pixel Coordinates)5. 本质矩阵 (Essential Matrix)6. 线坐标 (Co…...
【论文精读】SCINet-基于降采样和交互学习的时序卷积模型
《SCINet: Time Series Modeling and Forecasting with Sample Convolution and Interaction》的作者团队来自香港中文大学,发表在NeurIPS 2022会议上。 动机 该论文的出发点是观察到时间序列数据具有独特的属性:即使在将时间序列下采样成两个子序列后,时间关系(例如数据…...
深度学习与大模型第1课环境搭建
文章目录 深度学习与大模型第1课环境搭建1. 安装 Anaconda2. 修改环境变量2.1 修改 .condarc 文件2.2 使用 Anaconda Prompt 修改环境变量 3. 新建 .ipynb 文件 机器学习基础编程:常见问题: 深度学习与大模型第1课 环境搭建 1. 安装 Anaconda 首先&am…...
JDK新特性
LTS Record jdk16 不是方法 是一个定 # Sealed Class/Interface jdk17 限制只能由某些类继承 CompletableFuture jkd8 PatternMatching of instanceOf jdk16 switch expressions jdk14 Stream.collect() Collector Collector API Collector.groupBy Collector实战 1. …...
数据处理与数据填充在Pandas中的应用
在数据分析和机器学习项目中,数据处理是至关重要的一步。Pandas作为Python中用于数据分析和操作的一个强大库,提供了丰富的功能来处理和清洗数据。本文将深入探讨Pandas在数据处理,特别是数据填充方面的应用。 在实际的数据集中,…...
【百日算法计划】:每日一题,见证成长(010)
题目 合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路 引入一个带虚拟头结点和tail指针的…...
【WPF】WPF学习之【二】布局学习
WPF布局学习 常用布局Grid网格布局StackPanel 布局CanvasDockPanel布局WrapPanel布局 常用布局 1、StackPanel: 学习如何使用StackPanel进行垂直和水平布局。 2、Grid: 掌握Grid的网格布局技术。 3、Canvas: 了解Canvas的绝对定位布局。 4、DockPanel: 学习DockPanel的停靠…...
KEIL中编译51程序 算法计算异常的疑问
KEIL开发 51 单片机程序 算法处理过程中遇到的问题 ...... by 矜辰所致前言 因为产品的更新换代, 把所有温湿度传感器都换成 SHT40 ,替换以前的 SHT21。在 STM32 系列产品上的替换都正常,但是在一块 51 内核的无线产品上面,数据…...
pikachu文件包含漏洞靶场
本地文件包含 1、先随意进行提交 可以得出是GET传参 可以在filename参数进行文件包含 2、准备一个2.jpg文件 内容为<?php phpinfo();?> 3、上传2.jpg文件 4、访问文件保存的路径uploads/2.jpg 5、将我们上传的文件包含进来 使用../返回上级目录 来进行包含木马文件 …...
基于DPU与SmartNIC的K8s Service解决方案
1. 方案背景 1.1. Kubernetes Service介绍 Kubernetes Service是Kubernetes中的一个核心概念,它定义了一种抽象,用于表示一组提供相同功能的Pods(容器组)的逻辑集合,并提供了一种方式让这些Pods能够被系统内的其他组…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...
Spring事务传播机制有哪些?
导语: Spring事务传播机制是后端面试中的必考知识点,特别容易出现在“项目细节挖掘”阶段。面试官通过它来判断你是否真正理解事务控制的本质与异常传播机制。本文将从实战与源码角度出发,全面剖析Spring事务传播机制,帮助你答得有…...
Centos 7 服务器部署多网站
一、准备工作 安装 Apache bash sudo yum install httpd -y sudo systemctl start httpd sudo systemctl enable httpd创建网站目录 假设部署 2 个网站,目录结构如下: bash sudo mkdir -p /var/www/site1/html sudo mkdir -p /var/www/site2/html添加测试…...
