feat(student-portal): 完成Docker构建验证+全量测试通过+nextstep下游依赖文档

This commit is contained in:
SpecialX
2026-07-13 16:49:31 +08:00
parent 64b2016fa8
commit 40f07b7a16
27 changed files with 4742 additions and 31 deletions

View File

@@ -0,0 +1,55 @@
// Vitest 配置
// 依据02-architecture-design.md §13 测试策略分层
import { defineConfig } from "vitest/config";
import react from "@vitejs/plugin-react";
import { resolve } from "node:path";
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
"@": resolve(__dirname, "./src"),
},
},
test: {
environment: "jsdom",
globals: true,
setupFiles: ["./src/test/setup.ts"],
include: [
"src/**/*.{test,spec}.{ts,tsx}",
"src/**/__tests__/**/*.{ts,tsx}",
],
exclude: ["node_modules", ".next", "e2e"],
coverage: {
provider: "v8",
reporter: ["text", "json", "html"],
include: ["src/**/*.{ts,tsx}"],
exclude: [
"src/**/*.d.ts",
"src/test/**",
"src/mocks/**",
"src/types/**",
"src/**/*.config.{ts,tsx}",
// Next.js App Router pages由 MSW 集成测试 + E2e 覆盖,不纳入单元测试覆盖率
"src/app/**/page.tsx",
"src/app/**/layout.tsx",
"src/app/**/providers.tsx",
"src/app/**/error.tsx",
"src/app/**/loading.tsx",
"src/app/**/not-found.tsx",
"src/app/api/**",
// 可观测性 optional modules依赖 optionalDependencies@opentelemetry/*、web-vitals、axe-core
// 这些模块用 dynamic import 在运行时按需加载,单元测试不覆盖
"src/lib/observability/**",
// ErrorBoundaryReact 渲染异常兜底,需 React Error Boundary 测试 harness
"src/lib/error-boundary.tsx",
],
thresholds: {
statements: 85,
branches: 75,
functions: 85,
lines: 85,
},
},
},
});