Skip to content
Latchkey

Vitest "No test files found" - Fix Glob & Config in CI

Vitest scanned for test files and found none that match its include pattern, so it exits non-zero. Usually the glob does not match your filenames, or CI runs from a directory where no tests live.

What this error means

Vitest prints "No test files found, exiting with code 1" and fails the job. Locally you may run a single file by name and see it pass, masking that the default glob matches nothing.

Vitest output
No test files found, exiting with code 1

  include: **/*.{test,spec}.?(c|m)[jt]s?(x)
  exclude: **/node_modules/**

Common causes

Filenames do not match the include glob

Vitest only picks up *.test.*/*.spec.* by default. Files named *.tests.ts or under a non-default folder are ignored.

Wrong working directory or root in CI

If the job runs vitest from the repo root but tests live in a workspace package, the resolved root contains no matching files.

How to fix it

Set an include pattern that matches your files

vitest.config.ts
// vitest.config.ts
import { defineConfig } from 'vitest/config';
export default defineConfig({
  test: { include: ['src/**/*.{test,spec}.{ts,tsx}'] },
});

Run from the right directory

  1. Confirm CI runs Vitest in the package that holds the tests (use --root or a working-directory).
  2. For monorepos, define a Vitest workspace so each package’s tests are discovered.
  3. Pass --dir or an explicit path to scope discovery if needed.

How to prevent it

  • Commit an explicit include glob instead of relying on defaults.
  • In monorepos, use a Vitest workspace config.
  • Add a smoke test so an empty run is obviously wrong.

Frequently asked questions

What causes ""No test files found""?
Vitest only picks up *.test.*/*.spec.* by default. Files named *.tests.ts or under a non-default folder are ignored.
How do I fix "No test files found"?
Set an include pattern that matches your files

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card