Skip to content

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.

NOTE

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

Example

js
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:

vitest.config.js
js
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:

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

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

Released under the MIT License.