fix: vitest排除e2e测试,限定只跑src/test下的单元测试 #543

Merged
auto-approve-bot merged 1 commits from ci/fix-frontend-test-exclude-e2e into develop 2026-07-18 23:06:31 +08:00
Owner

问题

vitest 默认会扫描整个项目,把 e2e 目录下的 playwright 测试(.spec.ts)也当成测试文件执行,导致全部失败。

修复

  • include 限定:只跑 src/test/**/*.test.ts(x),明确只跑单元测试目录
  • exclude 兜底:排除 e2e/**/*.spec.ts(x),避免误跑 playwright 测试
  • coverage exclude:同步排除 e2e 目录

纯配置修复,不改逻辑。

### 问题 vitest 默认会扫描整个项目,把 e2e 目录下的 playwright 测试(.spec.ts)也当成测试文件执行,导致全部失败。 ### 修复 - **include 限定**:只跑 `src/test/**/*.test.ts(x)`,明确只跑单元测试目录 - **exclude 兜底**:排除 `e2e/` 和 `**/*.spec.ts(x)`,避免误跑 playwright 测试 - **coverage exclude**:同步排除 e2e 目录 纯配置修复,不改逻辑。
Collaborator

📊 审查概览

  • 整体评价:需修改
  • 严重问题数量:1 个
  • 一般建议数量:1 个

需修改的问题(严重)

  1. [apps/web/vitest.config.ts: 文件权限] 配置文件不应设置为可执行权限
    • 问题描述:Diff 显示文件模式从 100644 变更为 100755。TypeScript 配置文件由构建工具或 Node.js 进程导入,不需要作为脚本直接执行,赋予可执行权限是不规范且不必要的操作,通常属于误操作。
    • 修改建议:请在提交中忽略文件权限变更,或将其还原为 100644

💡 改进建议(一般)

  1. [apps/web/vitest.config.ts: include配置] 确认测试文件扫描范围
    • 具体内容:新增的 include: ["src/test/**/*.test.ts", "src/test/**/*.test.tsx"] 会强制 Vitest 仅扫描 src/test/ 目录。请确认项目中所有单元测试文件确实都位于该目录下。如果存在其他位置的测试(例如 src/components/xxx.test.ts),它们将不再被执行。

良好实践

  • coverage.exclude 中添加 e2e/ 目录,正确地避免了端到端测试覆盖率污染单元测试数据。
  • 显式配置 includeexclude 有助于明确测试规范,避免意外扫描文件,提升测试启动性能。

🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 21:57:40 | 模型:

### 📊 审查概览 - 整体评价:需修改 - 严重问题数量:1 个 - 一般建议数量:1 个 ### ❌ 需修改的问题(严重) 1. **[apps/web/vitest.config.ts: 文件权限] 配置文件不应设置为可执行权限** - 问题描述:Diff 显示文件模式从 `100644` 变更为 `100755`。TypeScript 配置文件由构建工具或 Node.js 进程导入,不需要作为脚本直接执行,赋予可执行权限是不规范且不必要的操作,通常属于误操作。 - 修改建议:请在提交中忽略文件权限变更,或将其还原为 `100644`。 ### 💡 改进建议(一般) 1. **[apps/web/vitest.config.ts: include配置] 确认测试文件扫描范围** - 具体内容:新增的 `include: ["src/test/**/*.test.ts", "src/test/**/*.test.tsx"]` 会强制 Vitest 仅扫描 `src/test/` 目录。请确认项目中所有单元测试文件确实都位于该目录下。如果存在其他位置的测试(例如 `src/components/xxx.test.ts`),它们将不再被执行。 ### ✅ 良好实践 - 在 `coverage.exclude` 中添加 `e2e/` 目录,正确地避免了端到端测试覆盖率污染单元测试数据。 - 显式配置 `include` 和 `exclude` 有助于明确测试规范,避免意外扫描文件,提升测试启动性能。 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 21:57:40 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot approved these changes 2026-07-18 21:59:07 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-18 21:59:07 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
Collaborator

Auto merge skipped after multiple 405 errors: PR may have conflicts or unresolved checks. Please review manually. This is not a CI failure.

Auto merge skipped after multiple 405 errors: PR may have conflicts or unresolved checks. Please review manually. This is not a CI failure.
xiaoxia added 1 commit 2026-07-18 23:01:45 +08:00
fix: vitest排除e2e测试,限定只跑src/test下的.test.ts
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 18s
AI Code Review / AI Code Review (pull_request) Failing after 34s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 48s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 1m15s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 3m35s
Auto Approve CI PRs / Auto Approve on CI Green (pull_request) Successful in 3m38s
Auto Merge CI PRs / Auto Merge on CI Green + Approved (pull_request) Successful in 4m46s
Preview Cleanup / Cleanup Preview Environment (pull_request) Failing after 0s
2f178edcd8
- include限定在src/test/**/*.test.ts(x),只跑单元测试
- exclude加e2e/和**/*.spec.ts,避免误跑playwright测试
- coverage exclude同步加e2e/
xiaoxia force-pushed ci/fix-frontend-test-exclude-e2e from 4d7cedf1c7 to 2f178edcd8 2026-07-18 23:01:45 +08:00 Compare
auto-approve-bot merged commit 96fc4eca05 into develop 2026-07-18 23:06:31 +08:00
auto-approve-bot deleted branch ci/fix-frontend-test-exclude-e2e 2026-07-18 23:06:32 +08:00
Sign in to join this conversation.