Back to Vitest

include | Config

docs/config/include.md

4.1.51.7 KB
Original Source

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

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:

js{8,12}
import { defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    projects: [
      {
        test: {
          name: 'unit',
          include: ['./test/unit/*.test.js'],
        },
      },
      {
        test: {
          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{6}
import { configDefaults, defineConfig } from 'vitest/config'

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

:::