Skip to content
Vitest 2
Main Navigation 指南API配置浏览器模式高级
3.2.0
2.1.9
1.6.1
0.34.6

简体中文

English
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

简体中文

English
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

主题

Sidebar Navigation

为什么选择 Vitest

快速开始

特性

工作区

命令行界面

测试筛选

报告器

代码覆盖率

快照(Snapshot)

模拟(Mocking)

类型测试

Vitest UI

源码内测试

测试上下文

测试环境

扩展匹配器

IDE 集成

调试

与其他测试运行器的比较

迁移指南

常见错误

Profiling Test Performance

提升性能

页面导航

root ​

  • CLI: -r, --root <path>
  • Config: root

项目根路径。

config ​

  • CLI: -c, --config <path>

指定 Vitest 配置文件的路径。

update ​

  • CLI: -u, --update
  • Config: update

更新快照。

watch ​

  • CLI: -w, --watch
  • Config: watch

启用监听模式。

testNamePattern ​

  • CLI: -t, --testNamePattern <pattern>
  • Config: testNamePattern

只运行名称与指定正则表达式模式完全匹配的测试。

dir ​

  • CLI: --dir <path>
  • Config: dir

扫描测试文件的基础目录。

ui ​

  • CLI: --ui
  • Config: ui

启用 Vitest UI。

open ​

  • CLI: --open
  • Config: open

自动打开 Vitest UI (默认值: !process.env.CI)。

api.port ​

  • CLI: --api.port [port]

指定服务器端口。请注意,如果端口已被占用,Vite 将自动尝试下一个可用端口,因此这可能不是服务器最终监听的实际端口。如果设置为 true,则端口将设置为 51204。

api.host ​

  • CLI: --api.host [host]

指定服务器应监听的 IP 地址。将其设置为 0.0.0.0 或 true,以监听所有地址,包括局域网和公共地址。

api.strictPort ​

  • CLI: --api.strictPort

如果端口已被占用,则退出,而不是自动尝试下一个可用端口。

silent ​

  • CLI: --silent
  • Config: silent

静默测试的控制台日志输出。

hideSkippedTests ​

  • CLI: --hideSkippedTests

隐藏跳过测试的日志。

reporters ​

  • CLI: --reporter <name>
  • Config: reporters

指定测试报告器。

outputFile ​

  • CLI: --outputFile <filename/-s>
  • Config: outputFile

当同时指定了支持的报告器时,将测试结果写入文件。对于多个报告器的单独输出,请使用 cac 的点表示法(例如:--outputFile.tap=./tap.txt)。

coverage.all ​

  • CLI: --coverage.all
  • Config: coverage.all

是否将所有文件(包括未测试的文件)包含在覆盖率报告中。

coverage.provider ​

  • CLI: --coverage.provider <name>
  • Config: coverage.provider

选择用于收集覆盖率的工具,可用值为:"v8"、"istanbul" 和 "custom"。

coverage.enabled ​

  • CLI: --coverage.enabled
  • Config: coverage.enabled

启用覆盖率收集。可以通过 --coverage CLI 选项覆盖(默认值: false)。

coverage.include ​

  • CLI: --coverage.include <pattern>
  • Config: coverage.include

使用 glob 模式指定要包含在覆盖率中的文件。当使用多个模式时,可以多次指定(默认值: **)。

coverage.exclude ​

  • CLI: --coverage.exclude <pattern>
  • Config: coverage.exclude

要从覆盖率中排除的文件。当使用多个扩展名时,可以多次指定(默认值: 请访问 coverage.exclude)。

coverage.extension ​

  • CLI: --coverage.extension <extension>
  • Config: coverage.extension

包含在覆盖率中的文件扩展名。当使用多个扩展名时,可以多次指定(默认值: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"])。

coverage.clean ​

  • CLI: --coverage.clean
  • Config: coverage.clean

在运行测试前清除覆盖率结果(默认值: true)。

coverage.cleanOnRerun ​

  • CLI: --coverage.cleanOnRerun
  • Config: coverage.cleanOnRerun

在监听模式下重新运行时清除覆盖率报告(默认值: true)。

coverage.reportsDirectory ​

  • CLI: --coverage.reportsDirectory <path>
  • Config: coverage.reportsDirectory

写入覆盖率报告的目录(默认值: ./coverage)。

coverage.reporter ​

  • CLI: --coverage.reporter <name>
  • Config: coverage.reporter

要使用的覆盖率报告器。更多信息请访问 coverage.reporter(默认值: ["text", "html", "clover", "json"])。

coverage.reportOnFailure ​

  • CLI: --coverage.reportOnFailure
  • Config: coverage.reportOnFailure

即使测试失败也生成覆盖率报告(默认值: false)。

coverage.allowExternal ​

  • CLI: --coverage.allowExternal
  • Config: coverage.allowExternal

收集项目根目录之外文件的覆盖率(默认值: false)。

coverage.skipFull ​

  • CLI: --coverage.skipFull
  • Config: coverage.skipFull

不显示语句、分支和函数覆盖率达到 100% 的文件(默认值: false)。

coverage.thresholds.100 ​

  • CLI: --coverage.thresholds.100
  • Config: coverage.thresholds.100

将所有覆盖率阈值设置为 100 的快捷方式(默认值: false)。

coverage.thresholds.perFile ​

  • CLI: --coverage.thresholds.perFile
  • Config: coverage.thresholds.perFile

按文件检查阈值。请参阅 --coverage.thresholds.lines、--coverage.thresholds.functions、--coverage.thresholds.branches 和 --coverage.thresholds.statements 以获取实际阈值(默认值: false)。

coverage.thresholds.autoUpdate ​

  • CLI: --coverage.thresholds.autoUpdate
  • Config: coverage.thresholds.autoUpdate

当当前覆盖率高于配置的阈值时,将阈值 "lines"、"functions"、"branches" 和 "statements" 更新到配置文件中(默认值: false)。

coverage.thresholds.lines ​

  • CLI: --coverage.thresholds.lines <number>

行覆盖率阈值。更多信息请访问 istanbuljs。此选项不适用于自定义提供程序。

coverage.thresholds.functions ​

  • CLI: --coverage.thresholds.functions <number>

函数覆盖率阈值。更多信息请访问 istanbuljs。此选项不适用于自定义提供程序。

coverage.thresholds.branches ​

  • CLI: --coverage.thresholds.branches <number>

分支覆盖率阈值。更多信息请访问 istanbuljs。此选项不适用于自定义提供程序。

coverage.thresholds.statements ​

  • CLI: --coverage.thresholds.statements <number>

语句覆盖率阈值。更多信息请访问 istanbuljs。此选项不适用于自定义提供程序。

coverage.ignoreClassMethods ​

  • CLI: --coverage.ignoreClassMethods <name>
  • Config: coverage.ignoreClassMethods

要忽略的类方法名称数组。更多信息请访问 istanbuljs。此选项仅适用于 istanbul 提供程序(默认值: [])。

coverage.processingConcurrency ​

  • CLI: --coverage.processingConcurrency <number>
  • Config: coverage.processingConcurrency

处理覆盖率结果时使用的并发限制。(默认值:20 和 CPU 数量之间的最小值)。

coverage.customProviderModule ​

  • CLI: --coverage.customProviderModule <path>
  • Config: coverage.customProviderModule

指定自定义覆盖率提供程序模块的模块名称或路径。更多信息请访问 自定义覆盖率提供程序。此选项仅适用于自定义提供程序。

coverage.watermarks.statements ​

  • CLI: --coverage.watermarks.statements <watermarks>

语句覆盖率的高低水位线,格式为 <high>,<low>。

coverage.watermarks.lines ​

  • CLI: --coverage.watermarks.lines <watermarks>

行覆盖率的高低水位线,格式为 <high>,<low>。

coverage.watermarks.branches ​

  • CLI: --coverage.watermarks.branches <watermarks>

分支覆盖率的高低水位线,格式为 <high>,<low>。

coverage.watermarks.functions ​

  • CLI: --coverage.watermarks.functions <watermarks>

函数覆盖率的高低水位线,格式为 <high>,<low>。

mode ​

  • CLI: --mode <name>
  • Config: mode

覆盖 Vite 模式(默认值: test 或 benchmark)。

workspace ​

  • CLI: --workspace <path>
  • Config: workspace

工作区配置文件的路径。

isolate ​

  • CLI: --isolate
  • Config: isolate

隔离运行每个测试文件。要禁用隔离,请使用 --no-isolate(默认值: true)。

globals ​

  • CLI: --globals
  • Config: globals

全局注入 APIs。

dom ​

  • CLI: --dom

使用 happy-dom 模拟浏览器 API。

browser.enabled ​

  • CLI: --browser.enabled
  • Config: browser.enabled

在浏览器中运行测试(默认值: false)。

browser.name ​

  • CLI: --browser.name <name>
  • Config: browser.name

在特定浏览器中运行所有测试。某些浏览器仅适用于特定提供程序(请参阅 --browser.provider)。更多信息请访问 browser.name。

browser.headless ​

  • CLI: --browser.headless
  • Config: browser.headless

以无头模式运行浏览器(即不打开图形界面)。如果您在 CI 中运行 Vitest,它将默认启用(默认值: process.env.CI)。

browser.api.port ​

  • CLI: --browser.api.port [port]
  • Config: browser.api.port

指定服务器端口。请注意,如果端口已被占用,Vite 将自动尝试下一个可用端口,因此这可能不是服务器最终监听的实际端口。如果设置为 true,则端口将设置为 63315。

browser.api.host ​

  • CLI: --browser.api.host [host]
  • Config: browser.api.host

指定服务器应监听的 IP 地址。将其设置为 0.0.0.0 或 true,以监听所有地址,包括局域网和公共地址。

browser.api.strictPort ​

  • CLI: --browser.api.strictPort
  • Config: browser.api.strictPort

如果端口已被占用,则退出,而不是自动尝试下一个可用端口。

browser.provider ​

  • CLI: --browser.provider <name>
  • Config: browser.provider

用于运行浏览器测试的提供程序。某些浏览器仅适用于特定提供程序。可以是 "webdriverio"、"playwright"、"preview" 或自定义提供程序的路径。更多信息请访问 browser.provider(默认值: "preview")。

browser.providerOptions ​

  • CLI: --browser.providerOptions <options>
  • Config: browser.providerOptions

传递给浏览器提供程序的选项。更多信息请访问 browser.providerOptions。

browser.isolate ​

  • CLI: --browser.isolate
  • Config: browser.isolate

隔离运行每个浏览器测试文件。要禁用隔离,请使用 --browser.isolate=false(默认值: true)。

browser.ui ​

  • CLI: --browser.ui
  • Config: browser.ui

运行测试时显示 Vitest UI(默认值: !process.env.CI)。

browser.fileParallelism ​

  • CLI: --browser.fileParallelism
  • Config: browser.fileParallelism

浏览器测试文件是否并行运行。使用 --browser.fileParallelism=false 禁用(默认值: true)。

pool ​

  • CLI: --pool <pool>
  • Config: pool

指定测试池类型,如果不在浏览器中运行(默认值: threads)。

poolOptions.threads.isolate ​

  • CLI: --poolOptions.threads.isolate
  • Config: poolOptions.threads.isolate

在线程池中隔离运行测试(默认值: true)。

poolOptions.threads.singleThread ​

  • CLI: --poolOptions.threads.singleThread
  • Config: poolOptions.threads.singleThread

在单线程中运行测试(默认值: false)。

poolOptions.threads.maxThreads ​

  • CLI: --poolOptions.threads.maxThreads <workers>
  • Config: poolOptions.threads.maxThreads

用于运行测试的最大线程数或百分比。

poolOptions.threads.minThreads ​

  • CLI: --poolOptions.threads.minThreads <workers>
  • Config: poolOptions.threads.minThreads

用于运行测试的最小线程数或百分比。

poolOptions.threads.useAtomics ​

  • CLI: --poolOptions.threads.useAtomics
  • Config: poolOptions.threads.useAtomics

使用 Atomics 同步线程。这在某些情况下可以提高性能,但在较旧的 Node 版本中可能会导致崩溃(默认值: false)。

poolOptions.vmThreads.isolate ​

  • CLI: --poolOptions.vmThreads.isolate
  • Config: poolOptions.vmThreads.isolate

在 VM 线程池中隔离测试(默认值: true)。

poolOptions.vmThreads.singleThread ​

  • CLI: --poolOptions.vmThreads.singleThread
  • Config: poolOptions.vmThreads.singleThread

在单个 VM 线程中运行测试(默认值: false)。

poolOptions.vmThreads.maxThreads ​

  • CLI: --poolOptions.vmThreads.maxThreads <workers>
  • Config: poolOptions.vmThreads.maxThreads

运行测试的最大 VM 线程数或百分比。

poolOptions.vmThreads.minThreads ​

  • CLI: --poolOptions.vmThreads.minThreads <workers>
  • Config: poolOptions.vmThreads.minThreads

运行测试的最小 VM 线程数或百分比。

poolOptions.vmThreads.useAtomics ​

  • CLI: --poolOptions.vmThreads.useAtomics
  • Config: poolOptions.vmThreads.useAtomics

使用 Atomics 同步 VM 线程。这在某些情况下可以提高性能,但在较旧的 Node 版本中可能会导致段错误(默认值: false)。

poolOptions.vmThreads.memoryLimit ​

  • CLI: --poolOptions.vmThreads.memoryLimit <limit>
  • Config: poolOptions.vmThreads.memoryLimit

VM 线程池的内存限制。如果您发现内存泄漏,请尝试调整此值。

poolOptions.forks.isolate ​

  • CLI: --poolOptions.forks.isolate
  • Config: poolOptions.forks.isolate

在 forks 池中隔离运行测试(默认值: true)。

poolOptions.forks.singleFork ​

  • CLI: --poolOptions.forks.singleFork
  • Config: poolOptions.forks.singleFork

在单子进程中运行测试(默认值: false)。

poolOptions.forks.maxForks ​

  • CLI: --poolOptions.forks.maxForks <workers>
  • Config: poolOptions.forks.maxForks

用于运行测试的最大进程数或百分比。

poolOptions.forks.minForks ​

  • CLI: --poolOptions.forks.minForks <workers>
  • Config: poolOptions.forks.minForks

用于运行测试的最小进程数或百分比。

poolOptions.vmForks.isolate ​

  • CLI: --poolOptions.vmForks.isolate
  • Config: poolOptions.vmForks.isolate

在 VM forks 池中隔离测试(默认值: true)。

poolOptions.vmForks.singleFork ​

  • CLI: --poolOptions.vmForks.singleFork
  • Config: poolOptions.vmForks.singleFork

在单个 VM 子进程中运行测试(默认值: false)。

poolOptions.vmForks.maxForks ​

  • CLI: --poolOptions.vmForks.maxForks <workers>
  • Config: poolOptions.vmForks.maxForks

运行测试的最大 VM 进程数或百分比。

poolOptions.vmForks.minForks ​

  • CLI: --poolOptions.vmForks.minForks <workers>
  • Config: poolOptions.vmForks.minForks

运行测试的最小 VM 进程数或百分比。

poolOptions.vmForks.memoryLimit ​

  • CLI: --poolOptions.vmForks.memoryLimit <limit>
  • Config: poolOptions.vmForks.memoryLimit

VM forks 池的内存限制。如果您发现内存泄漏,请尝试调整此值。

fileParallelism ​

  • CLI: --fileParallelism
  • Config: fileParallelism

是否并行运行所有测试文件。使用 --no-file-parallelism 禁用(默认值: true)。

maxWorkers ​

  • CLI: --maxWorkers <workers>
  • Config: maxWorkers

运行测试的最大 worker 数或百分比。

minWorkers ​

  • CLI: --minWorkers <workers>
  • Config: minWorkers

运行测试的最小 worker 数或百分比。

environment ​

  • CLI: --environment <name>
  • Config: environment

指定运行器环境,如果不在浏览器中运行(默认值: node)。

passWithNoTests ​

  • CLI: --passWithNoTests
  • Config: passWithNoTests

未找到测试时,测试运行视为通过。

logHeapUsage ​

  • CLI: --logHeapUsage
  • Config: logHeapUsage

在 Node.js 环境中运行时,显示每个测试的堆内存使用情况。

allowOnly ​

  • CLI: --allowOnly
  • Config: allowOnly

允许运行标记为 only 的测试和测试套件(默认值: !process.env.CI)。

dangerouslyIgnoreUnhandledErrors ​

  • CLI: --dangerouslyIgnoreUnhandledErrors
  • Config: dangerouslyIgnoreUnhandledErrors

忽略发生的任何未处理错误。

sequence.shuffle.files ​

  • CLI: --sequence.shuffle.files
  • Config: sequence.shuffle.files

以随机顺序运行测试文件。如果启用此选项,长时间运行的测试不会提前开始。(默认值: false)。

sequence.shuffle.tests ​

  • CLI: --sequence.shuffle.tests
  • Config: sequence.shuffle.tests

以随机顺序运行测试(默认值: false)。

sequence.concurrent ​

  • CLI: --sequence.concurrent
  • Config: sequence.concurrent

使测试并行运行(默认值: false)。

sequence.seed ​

  • CLI: --sequence.seed <seed>
  • Config: sequence.seed

设置随机化种子。如果 --sequence.shuffle 为假,此选项将无效。更多信息请访问 "随机种子" 页面。

sequence.hooks ​

  • CLI: --sequence.hooks <order>
  • Config: sequence.hooks

更改钩子执行的顺序。接受的值为:"stack"、"list" 和 "parallel"。更多信息请访问 sequence.hooks(默认值: "parallel")。

sequence.setupFiles ​

  • CLI: --sequence.setupFiles <order>
  • Config: sequence.setupFiles

更改 setup 文件执行的顺序。接受的值为:"list" 和 "parallel"。如果设置为 "list",将按照定义顺序运行 setup 文件。如果设置为 "parallel",将并行运行 setup 文件(默认值: "parallel")。

inspect ​

  • CLI: --inspect [[host:]port]
  • Config: inspect

启用 Node.js 检查器(默认值: 127.0.0.1:9229)。

inspectBrk ​

  • CLI: --inspectBrk [[host:]port]
  • Config: inspectBrk

启用 Node.js 检查器并在测试开始前中断。

testTimeout ​

  • CLI: --testTimeout <timeout>
  • Config: testTimeout

测试的默认超时时间(毫秒)(默认值: 5000)。

hookTimeout ​

  • CLI: --hookTimeout <timeout>
  • Config: hookTimeout

默认钩子超时时间(毫秒)(默认值: 10000)。

bail ​

  • CLI: --bail <number>
  • Config: bail

当指定数量的测试失败时停止测试执行(默认值: 0)。

retry ​

  • CLI: --retry <times>
  • Config: retry

如果测试失败,重试指定次数(默认值: 0)。

diff ​

  • CLI: --diff <path>
  • Config: diff

用于生成差异界面的差异配置路径。

exclude ​

  • CLI: --exclude <glob>
  • Config: exclude

要从测试中排除的额外文件 glob 模式。

expandSnapshotDiff ​

  • CLI: --expandSnapshotDiff
  • Config: expandSnapshotDiff

快照失败时显示完整差异。

disableConsoleIntercept ​

  • CLI: --disableConsoleIntercept
  • Config: disableConsoleIntercept

禁用控制台日志的自动拦截(默认值: false)。

typecheck.enabled ​

  • CLI: --typecheck.enabled
  • Config: typecheck.enabled

在测试的同时启用类型检查(默认值: false)。

typecheck.only ​

  • CLI: --typecheck.only
  • Config: typecheck.only

仅运行类型检查测试。这会自动启用类型检查(默认值: false)。

typecheck.checker ​

  • CLI: --typecheck.checker <name>
  • Config: typecheck.checker

指定要使用的类型检查器。可用值为:"tsc" 和 "vue-tsc" 以及可执行文件的路径(默认值: "tsc")。

typecheck.allowJs ​

  • CLI: --typecheck.allowJs
  • Config: typecheck.allowJs

允许对 JavaScript 文件进行类型检查。默认情况下从 tsconfig.json 获取值。

typecheck.ignoreSourceErrors ​

  • CLI: --typecheck.ignoreSourceErrors
  • Config: typecheck.ignoreSourceErrors

忽略源文件中的类型错误。

typecheck.tsconfig ​

  • CLI: --typecheck.tsconfig <path>
  • Config: typecheck.tsconfig

自定义 tsconfig 文件的路径。

project ​

  • CLI: --project <name>
  • Config: project

如果您使用 Vitest 工作区功能,指定要运行的项目名称。可以重复此选项以运行多个项目:--project=1 --project=2。您还可以使用通配符过滤项目,例如 --project=packages*。

slowTestThreshold ​

  • CLI: --slowTestThreshold <threshold>
  • Config: slowTestThreshold

测试被视为慢速的阈值(毫秒)(默认值: 300)。

teardownTimeout ​

  • CLI: --teardownTimeout <timeout>
  • Config: teardownTimeout

teardown 函数的默认超时时间(毫秒)(默认值: 10000)。

maxConcurrency ​

  • CLI: --maxConcurrency <number>
  • Config: maxConcurrency

套件中最大并发测试数(默认值: 5)。

expect.requireAssertions ​

  • CLI: --expect.requireAssertions
  • Config: expect.requireAssertions

要求所有测试至少有一个断言。

expect.poll.interval ​

  • CLI: --expect.poll.interval <interval>
  • Config: expect.poll.interval

expect.poll() 断言的轮询间隔(毫秒,默认值: 50)。

expect.poll.timeout ​

  • CLI: --expect.poll.timeout <timeout>
  • Config: expect.poll.timeout

expect.poll() 断言的轮询超时时间(毫秒,默认值: 1000)。

printConsoleTrace ​

  • CLI: --printConsoleTrace
  • Config: printConsoleTrace

始终打印控制台堆栈跟踪。

run ​

  • CLI: --run

禁用监听模式。

color ​

  • CLI: --no-color

从控制台输出中移除颜色。

clearScreen ​

  • CLI: --clearScreen

在监听模式下重新运行测试时清除终端屏幕(默认值: true)。

standalone ​

  • CLI: --standalone

启动 Vitest 但不运行测试。文件过滤器将被忽略,测试只会在更改时运行(默认值: false)。

Pager
下一页为什么选择 Vitest

基于 MIT 许可证 发布。

版权所有 (c) 2021-Present Vitest Team

https://v2.vitest.dev/guide/cli-generated

基于 MIT 许可证 发布。

版权所有 (c) 2021-Present Vitest Team