Преглед изворни кода

⚡️ perf(test): 优化测试命令和配置

- 简化test:api和test:api:coverage命令,移除冗余的路径参数
- 在vitest.config.ts中明确定义测试文件匹配模式,替代命令行路径参数
- 优化coverage配置,明确排除客户端代码和测试文件
- 移除CLAUDE.md中关于测试指定文件的过时说明

🔧 chore(test): 完善测试配置排除规则

- 添加src/client/**到排除列表,避免客户端代码被API测试覆盖
- 优化覆盖率报告准确性,排除所有客户端相关代码文件
yourname пре 2 месеци
родитељ
комит
f717620709
3 измењених фајлова са 9 додато и 7 уклоњено
  1. 0 1
      CLAUDE.md
  2. 2 2
      package.json
  3. 7 4
      vitest.config.ts

+ 0 - 1
CLAUDE.md

@@ -10,6 +10,5 @@
 - ### Claude Code
 - use pnpm
 - 数据库在同一容器组的另一个容器中,需要运行 psql -h 127.0.0.1 -U postgres 来访问
-- 测试指定文件时,直接使用 npx vitest 指定文件路径
 - bmad-core dir is in .bmad-core
 - 必须用中文回答

+ 2 - 2
package.json

@@ -11,9 +11,9 @@
     "start": "PORT=8080 cross-env NODE_ENV=production node server",
     "test": "npm run test:api && npm run test:components",
     "test:coverage": "npm run test:api:coverage && npm run test:components:coverage",
-    "test:api": "vitest src/server/api/**/__tests__/** src/server/modules/**/__tests__/** src/server/utils/**/__tests__/** src/server/**/__integration_tests__/**",
+    "test:api": "vitest",
     "test:components": "vitest --config=vitest.config.components.ts",
-    "test:api:coverage": "vitest --coverage src/server/api/**/__tests__/** src/server/modules/**/__tests__/** src/server/utils/**/__tests__/** src/server/**/__integration_tests__/**",
+    "test:api:coverage": "vitest --coverage",
     "test:components:coverage": "vitest --coverage --config=vitest.config.components.ts",
     "test:e2e": "playwright test --config=tests/e2e/playwright.config.ts",
     "test:e2e:ui": "playwright test --config=tests/e2e/playwright.config.ts --ui",

+ 7 - 4
vitest.config.ts

@@ -8,8 +8,10 @@ export default defineConfig({
 
     // 测试文件匹配模式
     include: [
-      '**/__tests__/**/*.test.{js,ts,jsx,tsx}',
-      '**/?(*.)+(spec|test).{js,ts,jsx,tsx}'
+      'src/server/api/**/__tests__/**',
+      'src/server/modules/**/__tests__/**',
+      'src/server/utils/**/__tests__/**',
+      'src/server/**/__integration_tests__/**'
     ],
 
     // 排除模式
@@ -18,7 +20,8 @@ export default defineConfig({
       '**/dist/**',
       '**/build/**',
       '**/coverage/**',
-      'tests/e2e/**'  // 排除Playwright E2E测试文件
+      'tests/e2e/**',  // 排除Playwright E2E测试文件
+      'src/client/**'  // 排除客户端代码,由组件测试配置处理
     ],
 
     // 覆盖率配置
@@ -32,7 +35,7 @@ export default defineConfig({
         '**/build/**',
         '**/coverage/**',
         '**/*.d.ts',
-        'src/client/api.ts',
+        'src/client/**',  // 排除所有客户端代码
         '**/__tests__/**',
         '**/__mocks__/**',
         '**/index.ts',