feat(student-portal): 完成Docker构建验证+全量测试通过+nextstep下游依赖文档
This commit is contained in:
55
apps/student-portal/vitest.config.ts
Normal file
55
apps/student-portal/vitest.config.ts
Normal 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/**",
|
||||
// ErrorBoundary:React 渲染异常兜底,需 React Error Boundary 测试 harness
|
||||
"src/lib/error-boundary.tsx",
|
||||
],
|
||||
thresholds: {
|
||||
statements: 85,
|
||||
branches: 75,
|
||||
functions: 85,
|
||||
lines: 85,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user