python 之 pytest mock 数据(七) pytest之Monkeypatching猴子补丁有时测试需要调用依赖于全局设置的功能或调用不易测试的代码(例如网络访问)。夹具monkeypatch可帮助您安全地设置/删除属性、字典项或环境变量,或进行修改sys.path以供导入。 概念: 在运行时动态修改模块、类或函数,通常是添加功能或修正缺陷。 猴子补丁在代码运行时(内存中)发挥作用,不会修改源码,因此只对当前运行的程序实例有效。 2024-01-20 #python #笔记 #pytest
python 之 pytest 常用插件(八) 一些pytest常用插件介绍[TOC] 1、失败重跑安装: 1pip install pytest-rerunfailures 使用方式一:命令行使用 12pytest test_class.py --reruns 5 --reruns-delay 1 -vs #(失败后重新运行5次,每次间隔1秒)pytest --reruns 5 --reruns-delay 1 -vs test_cla 2024-01-20 #python #笔记 #pytest
【python】FastAPI依赖注入(四) 7-1 什么是依赖注入场景: 你的一个网站有两个查询接口,一个是图书列表借口,一个是用户列表借口,两个接口有相同的分页查询逻辑,此时你该如何实现? 看看下面的普通代码实现方式 12345678910111213141516171819from fastapi import FastAPIapp = FastAPI()BOOKS = [{"id": i, " 2024-01-18 python #python #编程,web开发
【python】FastAPI表单和文件上传(三) 6-1 什么是Form 表单很多网站都支持上传文件,比如说:注册时上传头像;填写问卷时上传附件等等。 Form表单其实是前端HTML语言中的一个标签语言,用来向服务端上传普通数据和文件。 示例1:Form表单的基本使用(浏览器直接打开该文件即可渲染出form表单页面) 1234567891011121314151617<!DOCTYPE html><html lang=&quo 2024-01-18 python #python #编程,web开发
【python】FastAPI请求头体(二) 3-1使用Header 接收请求头参数需求场景:假设现在我们有个图书网站,需要客户端在请求头上携带有效的token,才可以获取图书数据,那FastAPI该如何获取客户端传过来的请求头参数呢? 示例1:FastAPI获取,指定请求头的值(比如,请求头的key 是token) 123456789101112from fastapi import FastAPI, Header # 引入Header类a 2024-01-16 python #python #编程,web开发
【python】FastAPI简单学习和路径参数(一) FastApi学习一、快速上手第一个FastApi123456789101112131415161718192021222324# main.pyimport uvicornfrom fastapi import FastAPIapp = FastAPI()@app.get("/")async def root(): return {"message& 2024-01-15 python #python #编程,web开发
【python】读书笔记之性能测算和大O算法分析(十三) 第 13 章 性能测量和大O算法分析 对于大多数小型程序而言,性能可能没那么重要。我们也许会花一小时来为任务编写一个自动化脚本,而这个脚本只要几秒钟就能运行完。就算时间再长一些,也不过是我们端着咖啡杯回到办公桌旁的时长。 有些情况下,对于花时间学习如何提升脚本速度要持谨慎态度,因为我们需要先学习程序的运行速度测量方法,否则无法知道所做的修改是否提升了程序的速度。而这就是Python模块t 2024-01-11 python #python #笔记
【python】读书笔记之编写高效函数(十) 十 编写高效的函数 函数就像是程序中的程序,通过拆分函数可以将代码分解成更小的单元。它能让我们不必编写重复的代码,减少错误的发生。但编写高效的函数要求我们在命名、大小、参数和复杂性等方面做出很多决策。本章将讲解编写函数的不同方法,分析各种取舍的利弊,深入探讨如何在函数的大小之间进行权衡,参数数量如何影响函数的复杂度,以及如何使用运算符*和**编写可变参数函数。本章还将讨论函数式编程范式以及按这 2024-01-10 python #python #笔记
【linux】Linux常用命令 一 关机1.1 关机重启相关操作命令1234567shutdown -h nowshutdown -h 5poweroff # 重启shutdown -r now shutdown -r 5reboot 二 目录操作命令2.1 增删改查1234567891011cd # 进入ls # 查看mkdir # 增 创建rm -rf # 删除mv [选项] [源文件路径][目标文件路径]#源目录 # 2024-01-09 linux #笔记 #other
【python】读书笔记之常见陷阱(八) 八 常见的Python陷阱8.1 循环列表的同时不要增删其中的元素使用for或while在列表上进行循环(也就是迭代)的同时增删其中的元素很可能会导致错误。想想这种情况:你要迭代一个包含各种描述衣服的字符串的列表,希望每次发现'sock'时插入另一个'sock',从而保证列表中的'sock'数是偶数。这个任务看起来很简单:遍历列表中的字符串,当发现某 2024-01-08 python #python #笔记
【other】docker相关基础介绍 一、docker基础介绍1.1 docker 是什么? docker 是一个开源的应用容器引擎 docker 诞生于2013年,基于Go语言实现, docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,现在也支持Windows 和 Mac OS 容器是完全使用沙箱机制,相互隔离 容器性能开销极低 1.2 docker 安装123456 2024-01-08 other #other #docker
【python】读书笔记之编程术语(七) 第 7 章 编程术语7.1.1 作为语言的Python和作为解释器的PythonPython这个词有很多含义。Python编程语言的名字来自于英国喜剧团体Monty Python,而不是“蟒蛇”(尽管市面上的Python教程和文档有用“蟒蛇”来进行解释的)。同样,Python在计算机编程方面也有两种含义。 我们说“Python运行一个程序”或者“Python将抛出一个异常”时,我们是在谈论Pyth 2024-01-07 python #python #笔记
【python】读书笔记之python之禅(六) 第 6 章 编写Python风格的代码 对于编程语言来说,“强大”是一个毫无意义的形容词。每一种编程语言都称自己是强大的。官方的Python教程一开始就说“Python是一种易于学习、功能强大的编程语言”,但没有哪种算法只能用某种特定的语言编写,也没有哪种衡量单位来量化某种编程语言的“厉害程度”(尽管可以衡量程序员为他们最喜欢的编程语言争取地位的声音大小)。 每种语言都有自己的设计模式和缺陷 2024-01-06 python #python #笔记
【python】读书笔记之代码的坏味道(五) Python 读书笔记之代码的坏味道2 、文件系统2.1.1文件系统 在Windows上,文件夹和文件名使用反斜杠(\)分隔;在macOS和Linux上,则是使用正斜杠(/)分隔。为了使Python脚本跨平台兼容,可以使用pathlib模块和/运算符。 导入pathlib的典型方法是使用语句from pathlib import Path。因为Path是pathlib中最常用的类,所以使 2024-01-03 python #python #笔记
【Python】笔记之判断一个字段串是否包含某一字符串(四) Python笔记之判断一个字段串是否包含某一字符串成员判断之 in一般用的多的是用in 来判断是否存在 返回Ture 或 False 12345str = "string test string test"find1 = "str"find2 = "test"print(find1 in str) # Trueprint(fin 2024-01-02 python #python #笔记
【python】之UI自动化初窥 UI自动化之Selenium 和 PlaywrightSelenium概述:Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动程序最受 Python 和 C#欢迎。 Selenium 测试脚本可以使用任何支持的编程语言进行编码,并且可以直 2023-12-25 python #python #笔记
【python】httprunner接口自动化框架 httprunner接口自动化框架一、为什么选择httprunner? HttpRunner是一个开源的 API 测试工具环境搭建,相比于其它 API 测试工具,HttpRunner 最大的不同在于设计理念: 约定大于配置:测试用例是标准结构化的,格式统一,方便协作和维护; 标准开放:基于开放的标准,支持HAR/Postman/Swagger等工具对接,轻松实现用例生成和转换; 2023-12-24 python #python #部署 #接口自动化
【other】WSL基础使用指南 WSL使用指南1、WSL介绍和安装一、简介 Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。 优势:开发人员 2023-12-23 other #部署 #wsl #windows
【python】djangoAdmin部署记录 部署笔记环境准备 Python >= 3.8.0 (推荐3.9+版本)nodejs >= 14.0 (推荐最新)Mysql >= 5.7.0 (可选,默认数据库sqlite3,推荐8.0版本)Redis(可选,最新版) 后端代码拉代码部署123456789101112131415# 拉代码进入后端项目目录:cd backend在项目根目录中,复制 2023-12-15 python #python #部署
【Golang】go语言之并发编程基础(goroutine、channel、SELECT) 并发编程go中的串行和并行还有并发的概念 串行(Sequential): 串行是一种执行方式,串联行走,按照顺序逐一的执行任务或者操作, 在串行执行中,每个任务必须等待前一个任务执行完了之后才能开始执行 场景:串行执行通常用于单核或者单线程环境,其中一次只能执行一个任务,意味着任务要找现行顺序执行,一个接一个,直到所有的任务都完成 串行执行通常具有可预测行,因为任务的执行顺序是确定的, 缺点就是在 2023-12-07 Golang #go #编程