vitest/docs/config/include.md
2025-11-06 14:59:05 +01:00

1.7 KiB

title
include | Config

include

  • Type: string[]
  • Default: ['**/*.{test,spec}.?(c|m)[jt]s?(x)']
  • CLI: vitest [...include], vitest **/*.test.js

A list of glob patterns that match your test files. These patterns are resolved relative to the root (process.cwd() by default).

Vitest uses the tinyglobby package to resolve the globs.

::: tip NOTE When using coverage, Vitest automatically adds test files include patterns to coverage's default exclude patterns. See coverage.exclude. :::

Example

import { defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    include: [
      './test',
      './**/*.{test,spec}.tsx?',
    ],
  },
})

Vitest provides reasonable defaults, so normally you wouldn't override them. A good example of defining include is for test projects:

import { defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    projects: [
      {
        name: 'unit',
        include: ['./test/unit/*.test.js'],
      },
      {
        name: 'e2e',
        include: ['./test/e2e/*.test.js'],
      },
    ],
  },
})

::: warning This option will override Vitest defaults. If you just want to extend them, use configDefaults from vitest/config:

import { configDefaults, defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    include: [
      ...configDefaults.include,
      './test',
      './**/*.{test,spec}.tsx?',
    ],
  },
})

:::