Skip to content

Latest commit

 

History

History
965 lines (541 loc) · 31 KB

File metadata and controls

965 lines (541 loc) · 31 KB

root

  • 命令行终端: -r, --root <path>
  • 配置: root

根路径

config

  • 命令行终端: -c, --config <path>

配置文件的路径

update

  • 命令行终端: -u, --update [type]
  • 配置: update

更新快照(接受 boolean, "new"、"all" 或 "none")

watch

  • 命令行终端: -w, --watch
  • 配置: watch

启用观察模式

testNamePattern

使用符合指定 regexp 模式的运行测试

dir

  • 命令行终端: --dir <path>
  • 配置: dir

扫描测试文件的基本目录

ui

  • 命令行终端: --ui

启用 UI 模式

open

  • 命令行终端: --open
  • 配置: open

自动打开用户界面(默认值:!process.env.CI

api.port

  • 命令行终端: --api.port [port]

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

api.host

  • 命令行终端: --api.host [host]

指定服务器应该监听哪些 IP 地址。设为 0.0.0.0true 则监听所有地址,包括局域网地址和公共地址

api.strictPort

  • 命令行终端: --api.strictPort

设置为 true 时,如果端口已被使用,则退出,而不是自动尝试下一个可用端口

api.allowExec

允许 API 执行代码。(在非受信环境中启用此选项时需谨慎)

api.allowWrite

允许 API 编辑文件。(在非受信环境中启用此选项时需谨慎)

silent

  • 命令行终端: --silent [value]
  • 配置: silent

测试的静默控制台输出。使用 'passed-only' 仅查看失败测试的日志

hideSkippedTests

  • 命令行终端: --hideSkippedTests

隐藏跳过测试的日志

reporters

  • 命令行终端: --reporter <name>
  • 配置: reporters

指定报告器(default、agent、blob、verbose、dot、json、tap、tap-flat、junit、tree、hanging-process、github-actions)

outputFile

  • 命令行终端: --outputFile <filename/-s>
  • 配置: outputFile

如果还指定了支持报告程序,则将测试结果写入文件,使用 cac 的点符号表示多个报告程序的单个输出结果 (比如: --outputFile.tap=./tap.txt)

coverage.provider

选择覆盖范围采集工具,可用值为: "v8", "istanbul" and "custom"

coverage.enabled

启用覆盖范围收集。可使用 --coverage CLI 选项覆盖(默认值:false

coverage.include

作为通配符模式包含在覆盖率中的文件。在使用多个模式时可以指定多次。默认情况下,只包含被测试覆盖的文件

coverage.exclude

覆盖范围中要排除的文件。使用多个扩展名时,可指定多次

coverage.clean

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

coverage.cleanOnRerun

重新运行监视时清理覆盖率报告(默认值:true)

coverage.reportsDirectory

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

coverage.reporter

Coverage reporters to use. Visit coverage.reporter for more information (default: ["text", "html", "clover", "json"])

coverage.reportOnFailure

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

coverage.allowExternal

收集项目根目录外文件的覆盖范围(默认值:false

coverage.skipFull

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

coverage.thresholds.100

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

coverage.thresholds.perFile

检查每个文件的阈值。 --coverage.thresholds.lines, --coverage.thresholds.functions, --coverage.thresholds.branches, --coverage.thresholds.statements 为实际阈值(默认值:false

coverage.thresholds.autoUpdate

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

coverage.thresholds.lines

  • 命令行终端: --coverage.thresholds.lines <number>

针对代码行的覆盖度阈值设定,请访问 istanbuljs 了解更多信息。此选项不适用于自定义 providers

coverage.thresholds.functions

  • 命令行终端: --coverage.thresholds.functions <number>

针对函数的覆盖度阈值设定,请访问 istanbuljs 了解更多信息。 此选项不适用于自定义 providers

coverage.thresholds.branches

  • 命令行终端: --coverage.thresholds.branches <number>

针对 branches 的覆盖度阈值设定,请访问 istanbuljs 了解更多信息。 此选项不适用于自定义 providers

coverage.thresholds.statements

  • 命令行终端: --coverage.thresholds.statements <number>

针对 statements 的覆盖度阈值设定,请访问 istanbuljs 了解更多信息。 此选项不适用于自定义 providers

coverage.ignoreClassMethods

覆盖时要忽略的类方法名称数组。更多信息请访问 istanbuljs 。该选项仅适用于 istanbul providers(默认值:[]

coverage.processingConcurrency

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

coverage.customProviderModule

Specifies the module name or path for the custom coverage provider module. Visit Custom Coverage Provider for more information. This option is only available for custom providers

coverage.watermarks.statements

  • 命令行终端: --coverage.watermarks.statements <watermarks>

语句覆盖率高/低阈值,格式: <high>,<low>

coverage.watermarks.lines

  • 命令行终端: --coverage.watermarks.lines <watermarks>

行覆盖率高/低阈值,格式: <high>,<low>

coverage.watermarks.branches

  • 命令行终端: --coverage.watermarks.branches <watermarks>

分支覆盖率高/低阈值,格式: <high>,<low>

coverage.watermarks.functions

  • 命令行终端: --coverage.watermarks.functions <watermarks>

函数覆盖率高/低阈值,格式: <high>,<low>

coverage.changed

Collect coverage only for files changed since a specified commit or branch (e.g., origin/main or HEAD~1). Inherits value from --changed by default.

coverage.excludeAfterRemap

Apply exclusions again after coverage has been remapped to original sources. (default: false)

coverage.htmlDir

Directory of HTML coverage output to be served in UI mode and HTML reporter.

mode

  • 命令行终端: --mode <name>
  • 配置: mode

覆盖 Vite 模式 (默认值: testbenchmark)

isolate

  • 命令行终端: --isolate
  • 配置: isolate

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

globals

  • 命令行终端: --globals
  • 配置: globals

全局注入

dom

  • 命令行终端: --dom

使用 happy-dom 模拟浏览器 API

browser.enabled

在浏览器中运行测试。 相当于 --browser.enabled (默认值: false)

browser.name

  • 命令行终端: --browser.name <name>

在指定浏览器中运行所有测试。某些浏览器仅适用于特定的 provider(详情请参见 --browser.provider

browser.headless

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

browser.api.port

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

browser.api.host

指定服务器应该监听哪些 IP 地址。设为 0.0.0.0true 则监听所有地址,包括局域网地址和公共地址

browser.api.strictPort

设置为 true 时,如果端口已被使用,则退出,而不是自动尝试下一个可用端口

browser.api.allowExec

允许 API 执行代码。(在非受信环境中启用此选项时需谨慎)

browser.api.allowWrite

允许 API 编辑文件。(在非受信环境中启用此选项时需谨慎)

browser.isolate

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

browser.ui

  • 命令行终端: --browser.ui
  • 配置: browser.ui

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

browser.detailsPanelPosition

浏览器模式下详情面板的默认位置。可选 right(水平分割)或 bottom(垂直分割)(默认值:right

browser.fileParallelism

  • 命令行终端: --browser.fileParallelism

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

browser.connectTimeout

如果连接浏览器时间超时,测试套件将失败 (默认值: 60_000)

browser.trackUnhandledErrors

控制 Vitest 是否捕获未捕获的异常以便报告(默认:true

browser.trace

启用追踪视图模式。 可选项: "on", "off", "on-first-retry", "on-all-retries", "retain-on-failure"

browser.locators.exact

Should locators match the text exactly by default (default: false)

pool

  • 命令行终端: --pool <pool>
  • 配置: pool

如果未在浏览器中运行,则指定 pool (默认值: threads)

execArgv

  • 命令行终端: --execArgv <option>
  • 配置: execArgv

Pass additional arguments to node process when spawning worker_threads or child_process.

vmMemoryLimit

Memory limit for VM pools. If you see memory leaks, try to tinker this value.

fileParallelism

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

maxWorkers

  • 命令行终端: --maxWorkers <workers>
  • 配置: maxWorkers

同时并发执行测试任务的最大线程数或百分比

environment

  • 命令行终端: --environment <name>
  • 配置: environment

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

passWithNoTests

未发现测试时通过

logHeapUsage

在节点中运行时,显示每个测试的堆大小

detectAsyncLeaks

检测测试文件中是否存在异步资源泄漏(默认值:false

allowOnly

  • 命令行终端: --allowOnly
  • 配置: allowOnly

允许执行那些被标记为"only"的测试用例或测试套件 (默认值: !process.env.CI)

dangerouslyIgnoreUnhandledErrors

忽略任何未处理的错误

sequence.shuffle.files

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

sequence.shuffle.tests

以随机方式运行测试(默认值:false

sequence.concurrent

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

sequence.seed

设置随机化种子。如果 --sequence.shuffle(随机序列)是false,则此选项无效。 t 通过 "Random Seed" page 查看更多信息

sequence.hooks

更改钩子函数的执行顺序。可接受的值有:"stack"、"list" 和 "parallel"。详情请参阅 sequence.hooks(默认值:"parallel"

sequence.setupFiles

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

inspect

  • 命令行终端: --inspect [[host:]port]

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

inspectBrk

  • 命令行终端: --inspectBrk [[host:]port]

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

testTimeout

  • 命令行终端: --testTimeout <timeout>
  • 配置: testTimeout

测试的默认超时(毫秒)(默认值:5000)。使用 0 完全禁用超时

hookTimeout

  • 命令行终端: --hookTimeout <timeout>
  • 配置: hookTimeout

默认钩子超时(以毫秒为单位)(默认值:10000)。使用 0 完全禁用超时

bail

  • 命令行终端: --bail <number>
  • 配置: bail

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

retry.count

  • 命令行终端: --retry.count <times>
  • 配置: retry.count

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

retry.delay

  • 命令行终端: --retry.delay <ms>
  • 配置: retry.delay

重试之间的延迟时间(单位:毫秒)(默认值:0

retry.condition

触发重试操作的错误信息匹配正则表达式。仅当错误信息符合该模式时才会执行重试(默认值:所有错误都会触发重试)

diff.aAnnotation

预期值的行注释 (默认值: Expected)

diff.aIndicator

预期值的行标识 (默认值: -)

diff.bAnnotation

实际值的行注释 (默认值: Received)

diff.bIndicator

实际值的行标识 (默认值: +)

diff.commonIndicator

公共行标识 (默认值:

diff.contextLines

每次变更显示上下文行数 (默认值: 5

diff.emptyFirstOrLastLinePlaceholder

空首行或空末行的占位符 (默认值: ""

diff.expand

展开所有公共行 (默认值: true

diff.includeChangeCounts

在 diff 的输出中输出比较计数 (默认值: false

diff.omitAnnotationLines

省略输出中的注释行 (默认值: false)

diff.printBasicPrototype

打印基础的原型 ObjectArray (默认值: true)

diff.maxDepth

  • 命令行终端: --diff.maxDepth <maxDepth>
  • 配置: diff.maxDepth

打印嵌套对象时,递归深度限制 (默认值: 20)

diff.truncateThreshold

显示成每次变更前后的行数 (默认值: 0)

diff.truncateAnnotation

在 diff 结果末尾输出的注释(如果被截断) (默认值: ... Diff result is truncated)

exclude

  • 命令行终端: --exclude <glob>
  • 配置: exclude

测试中排除的其他文件路径匹配模式

expandSnapshotDiff

快照失败时显示完整差异

disableConsoleIntercept

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

typecheck.enabled

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

typecheck.only

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

typecheck.checker

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

typecheck.allowJs

允许对 JavaScript 文件进行类型检查。默认值取自 tsconfig.json

typecheck.ignoreSourceErrors

忽略源文件中的类型错误

typecheck.tsconfig

自定义 tsconfig 文件的路径

typecheck.spawnTimeout

类型检查器启动所需最短时间(以毫秒为单位)

project

  • 命令行终端: --project <name>

如果我们正在使用 Vitest 的工作区功能,这是要运行的项目名称。这个参数可以重复以指定多个项目:--project=1 --project=2。我们还可以使用通配符来过滤项目,例如 --project=packages*,以及使用 --project=!pattern 来排除项目

slowTestThreshold

测试速度慢的阈值(以毫秒为单位)(默认值:300

teardownTimeout

拆卸函数的默认超时(以毫秒为单位)(默认值:10000

maxConcurrency

测试文件执行期间并发运行的测试和测试套件的最大数量(默认值:5

expect.requireAssertions

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

expect.poll.interval

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

expect.poll.timeout

断言的轮询超时(以毫秒为单位) expect.poll() (默认值: 1000)

printConsoleTrace

始终打印控制台堆栈跟踪

includeTaskLocation

location 属性中收集测试用例和测试套件的位置信息

attachmentsDir

context.annotate 方法所生成附件的存储目录 (默认值: .vitest-attachments)

run

  • 命令行终端: --run

禁用 watch 模式

color

  • 命令行终端: --no-color

删除控制台输出中的颜色

clearScreen

  • 命令行终端: --clearScreen

watch 模式下重新运行测试时清除终端屏幕(默认值:true

configLoader

  • 命令行终端: --configLoader <loader>

使用 bundle 将配置打包到 esbuild 中,或使用 runner(实验性功能)进行动态处理。此功能仅适用于 Vite 6.1.0 及更高版本可使用 (默认值: bundle)

standalone

  • 命令行终端: --standalone

单独启动 Vitest,且不运行任何测试。仅在文件变更时才运行测试。若启用浏览器模式,UI 界面将自动打开。如果通过命令行参数过滤文件,此选项将被忽略。(默认值:false

listTags

  • 命令行终端: --listTags [type]

列出所有可用标签,且不运行任何测试。使用 --list-tags=json 参数将会以 JSON 格式输出标签,如果没有标签则不会输出。

clearCache

  • 命令行终端: --clearCache

删除所有 Vitest 缓存,包括 experimental.fsModuleCache,且不运行任何测试。此操作会降低后续测试运行的性能。

tagsFilter

  • 命令行终端: --tagsFilter <expression>

仅运行带有指定标签的测试。可以使用逻辑运算符 &&(与)、||(或)和 !(非)创建复杂的表达式,详情请参见 测试标签语法

strictTags

  • 命令行终端: --strictTags
  • 配置: strictTags

如果测试包含未在配置中定义的标签,Vitest 是否应抛出错误。(默认值:true

experimental.fsModuleCache

在重新运行之前,启用文件系统上的缓存。

experimental.importDurations.print

控制何时将导入耗时分析输出到命令行终端。true 表示始终输出,false 表示永不输出,on-warn 表示仅在导入超过警告阈值时输出。(默认值:false

experimental.importDurations.limit

收集和显示的最大导入数量。(默认值:0,如果启用了 print 或 UI 模式,则为 10)

experimental.importDurations.failOnDanger

如果任何导入超过危险阈值,则测试运行失败。(默认值:false

experimental.importDurations.thresholds.warn

警告阈值,超过此阈值的导入将以黄色 / 橙色显示。(默认值:100)

experimental.importDurations.thresholds.danger

危险阈值,超过此阈值的导入将以红色显示。(默认值:500)

experimental.viteModuleRunner

控制 Vitest 是否使用 Vite 的模块运行器运行代码,或回退到原生 import。(默认值:true

experimental.nodeLoader

控制 Vitest 是否使用 Node.js Loader API 处理内联代码或模拟文件。如果启用了 viteModuleRunner,则此选项将无效。禁用此选项可能提升性能。(默认值:true

experimental.vcsProvider

Custom provider for detecting changed files. (default: git)