mirror of
https://github.com/Melorise/spark-store.git
synced 2026-11-07 14:49:33 +00:00
## 文档(全部中文) - AGENTS.md - 完整的 AI 编码指南(中文版) - CONTRIBUTING.md - 贡献指南 - DEVELOPMENT.md - 开发文档 - DEPLOYMENT.md - 部署文档 - TESTING.md - 测试文档 - TROUBLESHOOTING.md - 问题排查指南 - FAQ.md - 常见问题 - WORKFLOW.md - 标准开发流程文档 ## AI 工作流(9个详细工作流) - feature-development.md - 新功能开发流程 - bug-fix.md - Bug 修复流程 - code-review.md - 代码审查流程 - testing.md - 测试编写流程 - release.md - 发布流程 - refactoring.md - 代码重构流程 - documentation.md - 文档更新流程 - performance-optimization.md - 性能优化流程 - security-audit.md - 安全审计流程 ## 测试基础设施 - vitest.config.ts - Vitest 单元测试配置 - playwright.config.ts - Playwright E2E 测试配置 - src/__tests__/setup.ts - 测试环境设置 - src/__tests__/unit/downloadStatus.test.ts - 示例单元测试 - e2e/basic.spec.ts - 示例 E2E 测试 ## CI/CD - .github/workflows/test.yml - 新建测试 CI 工作流 - .github/workflows/build.yml - 更新构建工作流,添加测试步骤 ## Issue 模板 - 更新 bug_report.md 为标准 Bug 报告模板 - 更新 help_wanted.md 为标准功能请求模板 ## 配置更新 - package.json - 添加测试依赖和 7 个新的 npm 脚本 - .gitignore - 添加测试相关忽略项 ## 新增 npm 脚本 - test - 运行单元测试 - test:watch - 监听模式 - test:coverage - 生成覆盖率报告 - test:e2e - 运行 E2E 测试 - test:e2e:ui - E2E UI 模式 - test:e2e:debug - E2E 调试模式 - test:all - 运行所有测试 ## 新增测试依赖 - @playwright/test ^1.40.0 - @testing-library/jest-dom ^6.1.5 - @testing-library/vue ^8.0.1 - @vitest/coverage-v8 ^1.0.0 - @vue/test-utils ^2.4.3 - jsdom ^23.0.1 - vitest ^1.0.0
31 lines
629 B
TypeScript
31 lines
629 B
TypeScript
import { expect, afterEach, vi } from "vitest";
|
|
import { cleanup } from "@testing-library/vue";
|
|
import * as matchers from "@testing-library/jest-dom/matchers";
|
|
|
|
// 扩展 Vitest 的 expect
|
|
expect.extend(matchers);
|
|
|
|
// 每个测试后清理
|
|
afterEach(() => {
|
|
cleanup();
|
|
});
|
|
|
|
// Mock window.ipcRenderer
|
|
global.window = Object.create(window);
|
|
Object.defineProperty(window, "ipcRenderer", {
|
|
value: {
|
|
send: vi.fn(),
|
|
on: vi.fn(),
|
|
off: vi.fn(),
|
|
invoke: vi.fn(),
|
|
removeListener: vi.fn(),
|
|
},
|
|
});
|
|
|
|
// Mock window.apm_store
|
|
Object.defineProperty(window, "apm_store", {
|
|
value: {
|
|
arch: "amd64-store",
|
|
},
|
|
});
|