test: make coverage opt-in and ratchet thresholds to the measured floor
Coverage was enabled by default, which forced v8 instrumentation on every run and made a focused `vitest run <file>` fail the global thresholds that a single file can never satisfy. `pnpm test:coverage` now opts in explicitly while `pnpm test` stays fast. Thresholds ratcheted from 36/29/30/37 to the measured full-suite floor of 37/30/31/38, so a drop in coverage fails again. Also drops a stale comment about a parent Laravel repo and a dead .next.prev exclude from the config.
This commit is contained in:
1 parent
4776a41c01
commit
07c5904879
2 files changed
+20
-17
No files matched your search
+17
-14
@@ -1,8 +1,9 @@
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { defineConfig } from "vitest/config";
|
||||
|
||||
// Local config so Vitest does not walk up into the parent Laravel repo's
|
||||
// vite.config.js (this app lives inside the Laravel project tree).
|
||||
// Project-local config: keeps the `@/` alias, the server-only stub and the
|
||||
// env fallbacks with the repo instead of relying on whatever vite config a
|
||||
// parent directory happens to provide.
|
||||
export default defineConfig({
|
||||
resolve: {
|
||||
alias: {
|
||||
@@ -26,22 +27,24 @@ export default defineConfig({
|
||||
DATABASE_URL: "mysql://root:root@localhost:3306/test",
|
||||
},
|
||||
testTimeout: 10000,
|
||||
exclude: [
|
||||
"integration/**",
|
||||
"e2e/**",
|
||||
"node_modules/**",
|
||||
".next/**",
|
||||
".next.prev/**",
|
||||
],
|
||||
exclude: ["integration/**", "e2e/**", "node_modules/**", ".next/**"],
|
||||
coverage: {
|
||||
enabled: true,
|
||||
// Off unless asked for (`pnpm test:coverage` passes
|
||||
// `--coverage.enabled=true`): a focused `vitest run <file>` should
|
||||
// not fail the global thresholds it cannot possibly meet, and
|
||||
// measuring v8 coverage on every run costs real time.
|
||||
enabled: false,
|
||||
provider: "v8",
|
||||
reporter: ["text", "lcov", "html"],
|
||||
// Ratchet floor: measured 37.14 / 30.09 / 31.74 / 38.13 on the full
|
||||
// suite (statements/branches/functions/lines). Rounded down so only
|
||||
// a real regression fails the build — raise these to the new
|
||||
// measured floor whenever coverage improves.
|
||||
thresholds: {
|
||||
statements: 36,
|
||||
branches: 29,
|
||||
functions: 30,
|
||||
lines: 37,
|
||||
statements: 37,
|
||||
branches: 30,
|
||||
functions: 31,
|
||||
lines: 38,
|
||||
},
|
||||
include: ["src/**/*.{ts,tsx}"],
|
||||
exclude: [
|
||||
|
||||
Reference in new issue
Block a user