测试数据库新增

简介: 在 `weaponSkinModel.js` 中新增 `addWeaponSkin` 方法,实现向数据库插入武器皮肤数据功能,并通过 `index.js` 编写测试函数验证新增与查询,确保数据操作正确。

在weaponSkinModel.js文件中,增加新增数据的js代码

// model/weaponSkinModel.js(新增)
// 👉 第2个功能:新增单条数据
async function addWeaponSkin(weaponSkin) {
const { name, baseWeapon, skinName, price, appearance, category, stock } = weaponSkin;
try {
const [result] = await pool.execute(
INSERT INTO weapon_skins (name, baseWeapon, skinName, price, appearance, category, stock) VALUES (?, ?, ?, ?, ?, ?, ?),
[name, baseWeapon, skinName || '', price, appearance || '未知', category || '武器皮肤', stock || 0]
);
return {
success: true,
insertId: result.insertId,
message: '新增成功'
};
} catch (error) {
console.error('❌ 新增数据失败:', error.message);
throw error;
}
}

// 更新暴露(添加新功能)
module.exports = {
getAllWeaponSkins,
addWeaponSkin // 新增
};

接下来我们就可以在index.js文件中测试一下了

// index.js(新增测试函数)
// 👉 测试 2:新增单条数据(对应 addWeaponSkin 功能)
async function testAddWeaponSkin() {
console.log('===== 开始测试:新增单条数据 =====');
// 测试用数据
const testData = {
name: 'AK-47 | 火神 (崭新出厂)',
baseWeapon: 'AK-47',
skinName: '火神',
price: 1599.99,
appearance: '崭新出厂',
category: '武器皮肤',
stock: 8
};
try {
await testPoolConnection();
const result = await weaponSkinModel.addWeaponSkin(testData);
console.log('新增成功!结果:', result);
// 额外验证:查询刚新增的数据
const newData = await weaponSkinModel.getWeaponSkinById(result.insertId);
console.log('验证新增数据:', newData);
} catch (error) {
console.log('新增失败!原因:', error.message);
}
console.log('===== 测试结束:新增单条数据 =====\n');
}

// 👉 执行当前测试(注释掉之前的,只运行这一个)
// testGetAllWeaponSkins();
testAddWeaponSkin();

控制台打印输出正常,此时,我们放开index.js里面的testGetAllWeaponSkins单元测试,做一下查询,可以看到查到数据了

相关文章
|
9月前
|
存储 缓存 负载均衡
Nacos注册中心
本文详细介绍Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及实例类型等核心功能,涵盖从入门到实战的全流程,助力掌握Nacos在微服务架构中的应用,实现高效服务治理与配置管理。
|
3月前
|
数据采集 文字识别 监控
RPA 自动化能做什么?2026 办公 / 财务 / 电商全场景落地清单
2026年RPA能做什么?本文从办公自动化、财务RPA场景、电商RPA应用三个维度,拆解了会议纪要自动整理、发票OCR验真、银行流水抓取、税务申报自动化、竞品价格监控、库存同步预警等13个全流程落地场景。涵盖低代码RPA工具选型、EXE打包分发、内网离线部署等关键能力。适合中小企业技术负责人和RPA实施团队参考。
740 0
RPA 自动化能做什么?2026 办公 / 财务 / 电商全场景落地清单
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读
|
Arthas 前端开发 Java
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
|
存储 算法 Java
🧠Java零基础 - Java栈(Stack)详解
【10月更文挑战第17天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
755 2
|
机器学习/深度学习 自然语言处理 语音技术
《攻克LSTM语音识别“语速关”:技术新突破与解决方案》
在语音识别中,LSTM虽具强大序列建模能力,但对不同语速的适应性仍面临挑战。为此,可从数据增强(如语速扰动、多语速语料库)、模型改进(引入注意力机制、双向LSTM、增加深度宽度)、训练策略(分层训练、多任务学习、调整参数)及后处理(语速归一化、语言模型融合)等方面入手,全面提升LSTM对不同语速的适应性和识别性能。
695 7
|
监控 安全 项目管理
『软件工程3』你应该知道的三种原型实现模型:抛弃式、演化式、增量式
该文章详细解释了三种原型实现模型——抛弃式、演化式、增量式模型的特点、流程、优缺点及适用场景。
『软件工程3』你应该知道的三种原型实现模型:抛弃式、演化式、增量式
|
存储 JSON 分布式计算
Hologres的特性
【8月更文挑战第24天】Hologres的特性
606 3
|
缓存 网络协议 网络虚拟化
读透,什么是EVPN?
读透,什么是EVPN?
1273 5