vitest.codex-session-id-completer.config.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import path from "node:path";
  2. import { defineConfig } from "vitest/config";
  3. /**
  4. * Codex Session ID 补全专项覆盖率配置
  5. *
  6. * 目的:
  7. * - 仅统计 Codex Session ID 补全模块,避免把 Next/DB/Redis 等重模块纳入阈值
  8. * - 为“会话粘性/供应商复用稳定性”类功能设置覆盖率门槛(>= 80%)
  9. */
  10. export default defineConfig({
  11. test: {
  12. globals: true,
  13. environment: "happy-dom",
  14. setupFiles: ["./tests/setup.ts"],
  15. include: ["tests/unit/codex/session-completer.test.ts"],
  16. exclude: ["node_modules", ".next", "dist", "build", "coverage", "tests/integration/**"],
  17. coverage: {
  18. provider: "v8",
  19. reporter: ["text", "html", "json"],
  20. reportsDirectory: "./coverage-codex-session-id-completer",
  21. include: ["src/app/v1/_lib/codex/session-completer.ts"],
  22. exclude: ["node_modules/", "tests/", "**/*.d.ts", ".next/"],
  23. thresholds: {
  24. lines: 80,
  25. functions: 80,
  26. branches: 80,
  27. statements: 80,
  28. },
  29. },
  30. reporters: ["verbose"],
  31. isolate: true,
  32. mockReset: true,
  33. restoreMocks: true,
  34. clearMocks: true,
  35. },
  36. resolve: {
  37. alias: {
  38. "@": path.resolve(__dirname, "./src"),
  39. "server-only": path.resolve(__dirname, "./tests/server-only.mock.ts"),
  40. },
  41. },
  42. });