做平台的网站有哪些功能张店学校网站建设定制

pingmian/2025/10/15 0:25:14/文章来源:
做平台的网站有哪些功能,张店学校网站建设定制,福州网站建设外包,定制商城app开发最近在使用这几个在做项目#xff0c;因为第一次用这个#xff0c;所以不免有些问题。总结下踩的坑 1.测试类位置 首先测试类约定会放在tests里面#xff0c;不然有可能发生引入包的问题#xff0c;会报错某些包找不到。 2. 测试类依赖注入 这里我就用的真实的数据库操作… 最近在使用这几个在做项目因为第一次用这个所以不免有些问题。总结下踩的坑 1.测试类位置 首先测试类约定会放在tests里面不然有可能发生引入包的问题会报错某些包找不到。 2. 测试类依赖注入 这里我就用的真实的数据库操作,但是我用了一个专门为测试写的事务管理所有操作都不会commit而是会rollback相当于一个内存数据库了只会在内存里面不会提交你也可以直接用内存数据库或者mock, # tests/test_app.py import pytest from main.application import create_app from main.config.database_config import DatabaseConfig from main.containers import Container from dependency_injector.wiring import inject, Provide from main.services.common_service.db_access.domain.user import User from main.services.common_service.db_access.service.user_service import UserService from dependency_injector.providers import Factory from main.services.common_service.db_access.repository.impl.user_repository_impl import UserRepositoryImpl#获取app pytest.fixture def app():app create_app()with app.app_context():yield app #获取user_service pytest.fixture def user_service(app):with app.app_context():user_repoUserRepositoryImpl()dbapp.container.db()yield UserService(user_repositoryuser_repo,session_factorydb.force_rowback_session)#测试方法需要传入user_serivice会从上面加了pytest.fixture注解获取同名方法进行注入 def test_create_user(user_service):useruser_service.create_user()assert user is not None 我的userservice需要传入两个参数一个是repo的实现类一个是sqla的session Containers module.import os from dependency_injector import containers, providersfrom main.config.database_config import DatabaseConfigclass Container(containers.DeclarativeContainer):# wiring_config containers.WiringConfiguration(auto_wireTrue)wiring_config containers.WiringConfiguration(packages[main.config, main.web.controller,main])config_path os.path.join(os.path.dirname(__file__), ../config.yml)config providers.Configuration(yaml_files[config_path])dbproviders.Singleton(DatabaseConfig,db_urlconfig.db.url) 有个很重要的一点就是 这里如果写成这样过的话启动项目是没有什么问题。但是测试类的时候就会加载不到就会导致需要config的类加载不到你需要的配置。 config providers.Configuration(yaml_files[config.yml]) 所以必须写成这样 config_path os.path.join(os.path.dirname(__file__), ../config.yml) config providers.Configuration(yaml_files[config_path]) 事务控制  Database module.from contextlib import contextmanager, AbstractContextManager from typing import Callablefrom sqlalchemy import create_engine, orm,event from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import Session from datetime import datetimefrom main.services.common_service.db_access.domain.common_field_entity import CommonEntity Base declarative_base()class DatabaseConfig:def __init__(self, db_url: str) - None:self._engine create_engine(db_url, echoTrue)self._session_factory orm.scoped_session(orm.sessionmaker(autocommitFalse,autoflushFalse,expire_on_commitFalse,bindself._engine,),)def create_database(self) - None:Base.metadata.create_all(self._engine)contextmanagerdef session(self) - Callable[..., AbstractContextManager[Session]]:session: Session self._session_factory()try:yield sessionexcept Exception:session.rollback()raiseelse:if session._transaction.is_active:session.commit()session.close()contextmanager#专门负责测试类的回滚操作不论任何情况都进行回滚操作def force_rowback_session(self) - Callable[..., AbstractContextManager[Session]]:session: Session self._session_factory()try:yield sessionexcept Exception:session.rollback()raiseelse:session.rollback()session.close()event.listens_for(CommonEntity, before_insert, propagateTrue)def before_insert_listener(self, mapper, target):# 在创建时自动更新 created_dtversiontarget.created_dt datetime.now()target.created_by MAAStarget.version 1event.listens_for(CommonEntity, before_update, propagateTrue)def before_update_listener(self, mapper, target):# 在更新时自动更新 updated_dtversiontarget.updated_dt datetime.now()target.updated_by MAAStarget.version 1 运行测试 就直接到文件目录执行pytest命令就可以了没有pytest就pip install 一下就行了 pytest xxx.py

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

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

相关文章

学校网站群建设做采购 通常在什么网站看

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

哪个网站专门做商铺啊德州市住房和城乡建设部网站

贪心算法-活动安排-最详细注释解析 题目: 学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用…

单页营销式网站模板app开发公司有哪些部门

1.MySQL为什么要用数字做自增主键? 首先为什么我们使用的是int类型,而不是varchar类型 int永远是固定的4个字节,而char类型是1~255字节之间 优点 占用空间小,节省CPU开销在使用中,通常会在主键上建立索引&#xff…

爱网站大全广州seo网络优化公司

问题描述: 一打开office就显示正在更新,请稍后,过一会就弹窗报错。 解决方案: 1.winR输入services.msc 2.将Microsoft Office即点即用服务设为自动 如果第二步中已经是自动状态,先禁用一下,再重新设置为…

天津网站定制设计平台官网

在用java导出Excel的时候,表头不能写死,而是根据情况变化的。 实体类如下: public class EquSysExportNoChainVo {Excel(name "")private String thisValue; //当前值 } 给实体类的Excel的name赋值的方法如下&…

湖州建设企业网站模仿别人网站侵权

发,即头发,又名血余。 发之营养来源于血,故称“发为血之余”。 但发的生机根源于肾。 因为肾藏精,精能化血,精血旺盛,则毛发壮而润泽,故又说肾“其华在发” 黑桑葚,黑枸杞&#xff0…

电商新手从哪里做起关键词seo资源

每天你都会听见五花八门的投资建议,告诉你应该买入还是卖出。如果这让你感到无所适从,不妨静下心来,听听历史上最成功的投资者的建议。 我们搜集了21位顶尖大牛的投资箴言,以飨读者。 1、George Soros:好的投资总是无…

百度右边相关网站怎么做的网站建设模块一项目三

使用场景 在Node版本快速更新迭代的今天,新老项目使用的node版本号可能已经不相同了,node版本更新越来越快,项目越做越多,node切换版本号的需求越来越迫切,传统卸载一个版本在安装另一个版本的方式太过于麻烦&#xf…

深圳企业网站建设推荐公司最近民生新闻100条

1 前言 本文通过一个立方体贴图的例子,讲解三维纹理贴图的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下。 读者如果对 libGDX 不太熟悉,请回顾以下内容。 使用Mesh绘制三角形使用Mesh绘制矩形使用Mesh绘制圆形使用Mesh绘…

网站图片做cdn做区块链网站的公司

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 📧 清隆这边最…

邵阳做网站鹤岗网站建设

在现代快节奏的生活中,我们时常感到生活与工作的节奏难以协调。繁琐的工作日程与待办任务繁杂交织,往往让我们束手无策,无法高效地进行协调与分配。 桌面便签工具成为了我们处理这些挑战的得力助手。它不仅能够随时提醒我们完成任务&#xf…

点击即玩的小游戏网站asp网站建设下载

题干: 妞妞参加了Nowcoder Girl女生编程挑战赛, 但是很遗憾, 她没能得到她最喜欢的黑天鹅水晶项链。 于是妞妞决定自己来制作一条美丽的项链。一条美丽的项链需要满足以下条件: 1、需要使用n种特定的水晶宝珠 2、第i种水晶宝珠的数量不能少于li颗, 也不能多于…

国内做网站比较好的公司网站统计ip pv

目录 第一部分、关于白平衡的知识 1、MATLAB 自动白平衡算法的实现 1.1、matlab代码 1.2、测试效果 1.3 测试源图 2、为什么摄像头采集的图像要做白平衡 3、自动白平衡算法总结 4、FPGA设计思路 4.1、实时白平衡的实现 4.2、计算流程优化思路 第二部分、硬件实…

密云网站开发网站开发外贸

本案例由京东云投递并参与评选,CSDN云计算独家全网首发;更多关于【云X 案例征集】的相关信息,点击了解详情丨挖掘展现更多优秀案例,为不同行业领域带来启迪,进而推动整个“云行业”的健康发展。随着数字化的进程&#…

4444k面访问升最新网站怎么做网页买东西链接

题外话: 《Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元》相信过去BTC的人,信不信未来的PI,了解一下,唯一一个高度与之持平的项目 前篇全片都是生硬的理论使用,今天就放个静态爬取的实例让大家体验一下B…

飞沐网站建设公司wordpress登不进去

线性基 导入 线性基,顾名思义,就是一个包含数字最少的集合,使得原集合中的任何数都能用线性基中的元素表示。 集合中的元素满足一些性质: 原集合中的任意元素都可以用线性基中的若干元素的异或和表示线性基中任意数异或和不为…

做实验网站网站推广优化网址

一、h5ai 介绍 1.1)h5ai 简介 h5ai 是用于 HTTP Web 服务器的现代文件索引器,专注于您的文件。目录以吸引人的方式显示,浏览它们通过不同的视图、面包屑和树概述得到增强。最初 h5ai 是 HTML5 Apache Index 的首字母缩写,但现在它…

做网站如何选择数据源wordpress入门教程视频

前端框架的发展史是一个充满变革与创新的过程,其背后反映了互联网技术的快速发展和用户需求的日益复杂化。以下是对前端框架发展史的详细解析: 1. 古典时代与静态网页 在1990年代初,HTML被发明并开始广泛使用,这是前端开发的起点…

单位网站建设的优势做网站的时候怎么把图片往左移

目录 一,初识scrcpy 1.1 scrcpy介绍 1.2 scrcpy特点 二,scrcpy指令说明 2.1 画面设置 2.1.1 缩小分辨率 2.1.2 修改画面比特率 2.1.3 限制画面帧率 2.1.4 画面裁剪 2.1.5 锁定屏幕朝向 2.2 屏幕录制 2.3 连接方式 2.3.1 无线 2.3.2 多设备…

河源建设工程交易中心网站网络水果有哪些网站可以做

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…