[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成 #14
Labels
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Blocks
#7 [Code Review] 整体代码质量、架构缺陷与技术债务全景审查报告
troytt/diablo2-web
Reference: troytt/diablo2-web#14
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
模块位置
package.json,scripts/verify-*.ts问题背景与现象
verify-combat.ts、verify-items.ts、verify-m4.ts、verify-m5.ts、verify-net.ts、verify-collision-orientation.ts等)均编写为独立的命令行脚本。checks数组统计、console.log打印以及process.exit(1)控制。造成的影响
解决建议
devDependencies中引入vitest;vitest.config.ts;scripts/verify-*.ts的断言逐步迁移包装为标准 Vitest 测试套件;package.json中增加npm test与npm run test:coverage。已修复 —
test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线(1a81693)vitest.config.ts、npm test/test:watch/test:coverage。scripts/verify-*.ts里的断言按语义迁移为真正的describe/test/expect用例,而不是占位符;原脚本保留可用。.gitea/workflows/ci.yml(Node 20/22 矩阵,npm ci→ typecheck → test)。tests/中不再有process.exit(此前有 5 个文件用它,会让失败被吞掉)。验证(冷装):
tsc --noEmit0 错误;396 passed / 27 skipped / 0 failed;--sequence.shuffle下同样稳定,说明用例之间无顺序耦合。