From 0d308e8e93bb176afe18bed4563c79d990d6d7e0 Mon Sep 17 00:00:00 2001 From: noise Date: Thu, 13 Nov 2025 01:24:13 +0800 Subject: [PATCH 01/21] typo: fix some issues /guide/profiling-test-performance --- guide/profiling-test-performance.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide/profiling-test-performance.md b/guide/profiling-test-performance.md index 0e1c3287..639fe939 100644 --- a/guide/profiling-test-performance.md +++ b/guide/profiling-test-performance.md @@ -83,9 +83,9 @@ export default defineConfig({ ``` ::: -测试运行后,应该会生成 `test-runner-profile/*.cpuprofile` 和 `test-runner-profile/*.heapprofile` 文件。想要知道如何分析这些文件,可以仔细查看[「 检查分析记录 / Inspecting profiling records 」](#inspecting-profiling-records)。 +测试运行后,应该会生成 `test-runner-profile/*.cpuprofile` 和 `test-runner-profile/*.heapprofile` 文件。想要知道如何分析这些文件,可以仔细查看 [性能分析记录](#inspecting-profiling-records)。 -也可以看看[性能分析 | 示例](https://github.com/vitest-dev/vitest/tree/main/examples/profiling)。 +也可以看看 [性能分析 | 示例](https://github.com/vitest-dev/vitest/tree/main/examples/profiling) 。 ## 主线程 {#main-thread} From 3495193e0d61efe1d9556adb33b573b32c5f1594 Mon Sep 17 00:00:00 2001 From: noise Date: Thu, 13 Nov 2025 11:10:23 +0800 Subject: [PATCH 02/21] typo: fix some issues /guide/index --- guide/index.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guide/index.md b/guide/index.md index 91927ec2..faeefd08 100644 --- a/guide/index.md +++ b/guide/index.md @@ -66,7 +66,7 @@ test('adds 1 + 2 to equal 3', () => { ``` ::: tip 提示 -一般情况下,执行测试的文件名中必须包含 ".test." 或 ".spec." 。 +一般情况下,执行测试的文件名中必须包含 `.test.` 或 `.spec.` 。 ::: 接下来,为了执行测试,请将以下部分添加到你的 `package.json` 文件中: @@ -120,7 +120,7 @@ export default defineConfig({ ``` ::: tip 提示 -即使你自己不使用 Vite,Vitest 的转换管道也严重依赖它。因此,你还可以配置[Vite 文档](https://cn.vitejs.dev/config/)中描述的任何属性。 +即使你自己不使用 Vite,Vitest 的转换管道也严重依赖它。因此,你还可以配置 [Vite 文档](https://cn.vitejs.dev/config/) 中描述的任何属性。 ::: 如果你已经在使用 Vite,请在 Vite 配置中添加 `test` 属性。你还需要使用 [三斜杠指令](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html#-reference-types-) 在你的配置文件的顶部引用。 @@ -136,6 +136,8 @@ export default defineConfig({ }) ``` + 将在下一次重大更新中弃用,但您可以在 Vitest 2.1 中开始迁移到 `vitest/config`: + 可以参阅 [配置索引](../config/) 中的配置选项列表 ::: warning @@ -168,7 +170,7 @@ export default defineConfig({ ## 多项目支持 {#projects-support} -通过 [测试项目](/guide/projects) 功能,你可以在同一个项目里运行多套不同的配置。只需在 vitest.config 文件中列出对应的文件和文件夹,即可定义各个项目。 +通过 [测试项目](/guide/projects) 功能,你可以在同一个项目里运行多套不同的配置。只需在 `vitest.config` 文件中列出对应的文件和文件夹,即可定义各个项目。 ```ts [vitest.config.ts] import { defineConfig } from 'vitest/config' @@ -221,7 +223,7 @@ export default defineConfig({ 要在不监视文件更改的情况下运行一次测试,请使用 `vitest run`。 你还可以指定其他 CLI 选项,例如 `--port` 或 `--https`。 有关 CLI 选项的完整列表,可以在你的项目中运行 `npx vitest --help`。 -了解更多有关 [命令行界面](/guide/cli) 的更多信息 +了解更多有关 [命令行界面](/guide/cli) 的信息 ## 自动安装依赖项 {#automatic-dependency-installation} From f715b8a514f2c59321f088defaa6d9e808638858 Mon Sep 17 00:00:00 2001 From: noise Date: Sat, 15 Nov 2025 22:23:19 +0800 Subject: [PATCH 03/21] typo: fix some issues /guide/features --- .vitepress/config.ts | 4 ++-- guide/features.md | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.vitepress/config.ts b/.vitepress/config.ts index f5e1e610..7e411ecc 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -567,11 +567,11 @@ function guide(): DefaultTheme.SidebarItem[] { link: '/guide/reporters', }, { - text: '测试覆盖率', + text: '覆盖率', link: '/guide/coverage', }, { - text: '测试快照', + text: '快照', link: '/guide/snapshot', }, { diff --git a/guide/features.md b/guide/features.md index 739d5675..03ea3be4 100644 --- a/guide/features.md +++ b/guide/features.md @@ -7,14 +7,15 @@ outline: deep +通过视频了解如何编写你的第一个测试 + ## 一套配置可以运用在多种环境 {#shared-config-between-test-dev-and-build}
-通过视频了解如何编写你的第一个测试 与 Vite 的配置、转换器、解析器和插件通用,将会使用应用中的相同配置来运行测试。 -了解更多信息 [配置 Vitest](/guide/#配置-vitest) +了解更多信息 [配置 Vitest](/guide/#configuring-vitest) 。 ## 监听模式(watch mode) {#watch-mode} @@ -45,7 +46,7 @@ Vitest 还隔离了每个测试文件的运行环境,因此一个文件中的 Vitest 提供了许多缩小测试范围的方法,以便在开发过程中加快速度并集中精力。 -了解更多信息 [测试筛选](/guide/filtering) +了解更多信息 [测试筛选](/guide/filtering) 。 ## 同时运行多个测试 {#running-tests-concurrently} @@ -116,7 +117,7 @@ it('renders correctly', () => { 注意,如果你正在使用添加匹配器的第三方库,将 [`test.globals`](/config/#globals) 设置为 `true` 将提供更好的兼容性。 -## 对象模拟(Mocking) {#mocking} +## 对象模拟 (Mocking) {#mocking} 内置 [Tinyspy](https://github.com/tinylibs/tinyspy) 用于在 `vi` 对象上使用 `jest` 兼容的 API 进行对象模拟。 @@ -157,7 +158,7 @@ export default defineConfig({ }) ``` -了解更多信息 [模拟对象](/guide/mocking) +了解更多信息 [模拟对象](/guide/mocking) 。 ## 测试覆盖率 {#coverage} @@ -187,11 +188,11 @@ export default defineConfig({ }) ``` -了解更多信息 [测试覆盖率](/guide/coverage) +了解更多信息 [覆盖率](/guide/coverage) 。 ## 源码内联测试 {#in-source-testing} -Vitest 还提供了一种方式,可以运行与你的代码实现放在一起的测试,类似 [Rust's 模块测试](https://doc.rust-lang.org/book/ch11-03-test-organization.html#the-tests-module-and-cfgtest). +Vitest 还提供了一种方式,可以运行与你的代码实现放在一起的测试,类似 [Rust 模块测试](https://doc.rust-lang.org/book/ch11-03-test-organization.html#the-tests-module-and-cfgtest). 这使得测试与实现共享相同的闭包,并且能够在不导出的情况下针对私有状态进行测试。同时,它也使开发更加接近反馈循环。 From 6ce5c4cb79a692cd40282b519da027b38f873dbc Mon Sep 17 00:00:00 2001 From: noise Date: Sat, 15 Nov 2025 23:50:04 +0800 Subject: [PATCH 04/21] typo: fix some issues /api/index --- api/index.md | 125 ++++++++++++++++++------------------------------ config/index.md | 2 +- 2 files changed, 47 insertions(+), 80 deletions(-) diff --git a/api/index.md b/api/index.md index fb1ad821..466632cd 100644 --- a/api/index.md +++ b/api/index.md @@ -35,7 +35,7 @@ interface TestOptions { 当测试函数返回一个 promise 时,运行器会等待它解析结束收集异步的结果。如果 promise 被拒绝,测试就会失败。 ::: tip -在 Jest 中,`TestFunction` 也可以是 `(done: DoneCallback) => void` 类型。如果使用这种形式,测试将在调用 `done` 之前不会结束。也可以使用 `async` 函数来实现相同的效果,请参阅[迁移指南中的回调完成部分](/guide/migration#回调完成)。 +在 Jest 中,`TestFunction` 也可以是 `(done: DoneCallback) => void` 类型。如果使用这种形式,测试将在调用 `done` 之前不会结束。也可以使用 `async` 函数来实现相同的效果,请参阅 [迁移指南中的回调完成部分](/guide/migration.html#done-callback)。 ::: @@ -108,7 +108,7 @@ test('heavy test', { skip: true, timeout: 10_000 }, () => { `test` 定义了一组相关的期望。 它接收测试名称和保存测试期望的函数。 -或者,我们可以提供超时(以毫秒为单位)来指定终止前等待的时间。 默认为 5 秒,可以通过 [testTimeout](/config/#testtimeout) 进行全局配置 +或者,我们可以提供超时(以毫秒为单位)来指定终止前等待的时间。 默认为 5 秒,可以通过 [testTimeout](/config/#testtimeout) 进行全局配置。 ```ts import { expect, test } from 'vitest' @@ -123,7 +123,7 @@ test('should work as expected', () => { - **类型:** `>(fixtures: Fixtures): TestAPI` - **别名:** `it.extend` -使用 `test.extend` 来使用自定义的 fixtures 扩展测试上下文。这将返回一个新的 `test`,它也是可扩展的,因此可以根据需要扩展更多的 fixtures 或覆盖现有的 fixtures。有关更多信息,请参阅[扩展测试上下文](/guide/test-context.html#test-extend)。 +使用 `test.extend` 来使用自定义的 fixtures 扩展测试上下文。这将返回一个新的 `test`,它也是可扩展的,因此可以根据需要扩展更多的 fixtures 或覆盖现有的 fixtures。有关更多信息,请参阅 [扩展测试上下文](/guide/test-context.html#test-extend)。 ```ts import { expect, test } from 'vitest' @@ -176,7 +176,7 @@ test('skipped test', (context) => { }) ``` -自 Vitest 3.1 起,如果你无法提前确定是否跳过,可以把条件直接作为第一个参数传给 `skip 方法: +自 Vitest 3.1 起,如果你无法提前确定是否跳过,可以把条件直接作为第一个参数传给 `skip` 方法: ```ts import { assert, test } from 'vitest' @@ -206,7 +206,7 @@ test.skipIf(isDev)('prod only test', () => { ``` ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### test.runIf @@ -227,7 +227,7 @@ test.runIf(isDev)('dev only test', () => { ``` ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### test.only @@ -248,7 +248,7 @@ test.only('test', () => { }) ``` -有时,只运行某个文件中的 "测试",而忽略整个 测试套件 中的所有其他测试是非常有用的,因为这些测试会污染输出。 +有时,只运行某个文件中的 "测试",而忽略整个测试套件中的所有其他测试是非常有用的,因为这些测试会污染输出。 为此,请使用包含相关测试的特定文件运行 `vitest`。 @@ -289,7 +289,7 @@ test.only.concurrent(/* ... */) // or test.concurrent.only(/* ... */) test.todo.concurrent(/* ... */) // or test.concurrent.todo(/* ... */) ``` -运行并发测试时,快照和断言必须使用本地[测试上下文](/guide/test-context.md)中的 `expect`,以确保检测到正确的测试。 +运行并发测试时,快照和断言必须使用本地 [测试上下文](/guide/test-context.md) 中的 `expect`,以确保检测到正确的测试。 ```ts test.concurrent('test 1', async ({ expect }) => { @@ -301,12 +301,13 @@ test.concurrent('test 2', async ({ expect }) => { ``` ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### test.sequential - **类型:** `(name: string | Function, fn: TestFunction, timeout?: number) => void` +- **别名:** `it.sequential` `test.sequential` 标记一个测试为顺序测试。如果要在 `describe.concurrent` 中或使用 `--sequence.concurrent` 命令选项按顺序运行测试,这一点非常有用。 @@ -314,35 +315,19 @@ test.concurrent('test 2', async ({ expect }) => { import { describe, test } from 'vitest' // 使用配置选项 `{ sequence: { concurrent: true } }` -test('concurrent test 1', async () => { - /* ... */ -}) -test('concurrent test 2', async () => { - /* ... */ -}) +test('concurrent test 1', async () => { /* ... */ }) +test('concurrent test 2', async () => { /* ... */ }) -test.sequential('sequential test 1', async () => { - /* ... */ -}) -test.sequential('sequential test 2', async () => { - /* ... */ -}) +test.sequential('sequential test 1', async () => { /* ... */ }) +test.sequential('sequential test 2', async () => { /* ... */ }) // 在并发套件中 describe.concurrent('suite', () => { - test('concurrent test 1', async () => { - /* ... */ - }) - test('concurrent test 2', async () => { - /* ... */ - }) + test('concurrent test 1', async () => { /* ... */ }) + test('concurrent test 2', async () => { /* ... */ }) - test.sequential('sequential test 1', async () => { - /* ... */ - }) - test.sequential('sequential test 2', async () => { - /* ... */ - }) + test.sequential('sequential test 1', async () => { /* ... */ }) + test.sequential('sequential test 2', async () => { /* ... */ }) }) ``` @@ -360,7 +345,6 @@ test.todo('unimplemented test') ### test.fails -- **类型:** `(name: string | Function, fn: TestFunction, timeout?: number) => void` - **别名:** `it.fails` 使用 `test.fails` 明确表示断言将失败。 @@ -377,7 +361,7 @@ test.fails('fail test', async () => { ``` ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### test.each @@ -487,7 +471,7 @@ Vitest 使用 chai `format` 方法处理 `$values`。如果数值太短,可以 ::: ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### test.for @@ -504,8 +488,8 @@ test.each([ [1, 1, 2], [1, 2, 3], [2, 1, 3], -])('add(%i, %i) -> %i', (a, b, expected) => { // [!code --] +])('add(%i, %i) -> %i', (a, b, expected) => { expect(a + b).toBe(expected) }) @@ -514,8 +498,8 @@ test.for([ [1, 1, 2], [1, 2, 3], [2, 1, 3], -])('add(%i, %i) -> %i', ([a, b, expected]) => { // [!code ++] +])('add(%i, %i) -> %i', ([a, b, expected]) => { expect(a + b).toBe(expected) }) ``` @@ -856,6 +840,7 @@ describe('numberToCurrency', () => { ### describe.skip - **类型:** `(name: string | Function, fn: TestFunction, options?: number | TestOptions) => void` +- **别名:** `suite.skip` 在套件中使用 `describe.skip` 可避免运行特定的 describe 块。 @@ -873,6 +858,7 @@ describe.skip('skipped suite', () => { ### describe.skipIf - **类型:** `(condition: any) => void` +- **别名:** `suite.skipIf` 在某些情况下,可能会在不同的环境下多次运行套件,其中一些测试套件可能是特定于环境的。可以使用 `describe.skipIf` 来跳过条件为真时的套件,而不是使用 `if` 来封装套件。 @@ -893,6 +879,7 @@ describe.skipIf(isDev)('prod only test suite', () => { ### describe.runIf - **类型:** `(condition: any) => void` +- **别名:** `suite.runIf` 与 [describe.skipIf](#describe-skipif) 相反。 @@ -931,11 +918,9 @@ describe('other suite', () => { }) ``` -为了做到这一点,请使用包含相关测试的特定文件来运行 `vitest`。 - 有时,只运行某个文件中的测试套件,而忽略整个测试套件中的所有其他测试是非常有用的,因为这些测试会污染输出。 -要做到这一点,请在包含相关测试的特定文件中运行 `vitest`。 +为了做到这一点,请使用包含相关测试的特定文件来运行 `vitest`。 ``` # vitest interesting.test.ts @@ -978,7 +963,7 @@ describe.only.concurrent(/* ... */) // 或 describe.concurrent.only(/* ... */) describe.todo.concurrent(/* ... */) // 或 describe.concurrent.todo(/* ... */) ``` -运行并发测试时,快照和断言必须使用本地[测试上下文](/guide/test-context.md)中的 `expect` ,以确保检测到正确的测试。 +运行并发测试时,快照和断言必须使用本地 [测试上下文](/guide/test-context.md) 中的 `expect` ,以确保检测到正确的测试。 ```ts describe.concurrent('suite', () => { @@ -992,12 +977,13 @@ describe.concurrent('suite', () => { ``` ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### describe.sequential - **类型:** `(name: string | Function, fn: TestFunction, options?: number | TestOptions) => void` +- **别名:** `suite.sequential` 测试套件中的 `describe.sequential` 会将每个测试标记为顺序测试。如果需要在 `describe.concurrent` 中或使用 `--sequence.concurrent` 命令选项按顺序运行测试,这一点非常有用。 @@ -1005,20 +991,12 @@ describe.concurrent('suite', () => { import { describe, test } from 'vitest' describe.concurrent('suite', () => { - test('concurrent test 1', async () => { - /* ... */ - }) - test('concurrent test 2', async () => { - /* ... */ - }) + test('concurrent test 1', async () => { /* ... */ }) + test('concurrent test 2', async () => { /* ... */ }) describe.sequential('', () => { - test('sequential test 1', async () => { - /* ... */ - }) - test('sequential test 2', async () => { - /* ... */ - }) + test('sequential test 1', async () => { /* ... */ }) + test('sequential test 2', async () => { /* ... */ }) }) }) ``` @@ -1026,6 +1004,7 @@ describe.concurrent('suite', () => { ### describe.shuffle - **类型:** `(name: string | Function, fn: TestFunction, options?: number | TestOptions) => void` +- **别名:** `suite.shuffle` Vitest 通过 CLI 标志 [`--sequence.shuffle`](/guide/cli) 或配置选项 [`sequence.shuffle`](/config/#sequence-shuffle),提供了一种以随机顺序运行所有测试的方法,但如果只想让测试套件的一部分以随机顺序运行测试,可以用这个标志来标记它。 @@ -1034,48 +1013,35 @@ import { describe, test } from 'vitest' // 或 `describe('suite', { shuffle: true }, ...)` describe.shuffle('suite', () => { - test('random test 1', async () => { - /* ... */ - }) - test('random test 2', async () => { - /* ... */ - }) - test('random test 3', async () => { - /* ... */ - }) + test('random test 1', async () => { /* ... */ }) + test('random test 2', async () => { /* ... */ }) + test('random test 3', async () => { /* ... */ }) // `shuffle` 是继承的 describe('still random', () => { - test('random 4.1', async () => { - /* ... */ - }) - test('random 4.2', async () => { - /* ... */ - }) + test('random 4.1', async () => { /* ... */ }) + test('random 4.2', async () => { /* ... */ }) }) // 禁用内部的 shuffle describe('not random', { shuffle: false }, () => { - test('in order 5.1', async () => { - /* ... */ - }) - test('in order 5.2', async () => { - /* ... */ - }) + test('in order 5.1', async () => { /* ... */ }) + test('in order 5.2', async () => { /* ... */ }) }) }) // 顺序取决于配置中的 `sequence.seed` 选项(默认为 `Date.now()`) ``` -`.skip`、`.only`和`.todo`适用于随机测试套件。 +`.skip`、 `.only` 和 `.todo` 适用于随机测试套件。 ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### describe.todo - **类型:** `(name: string | Function) => void` +- **别名:** `suite.todo` 使用 `describe.todo` 来暂存待以后实施的套件。测试报告中会显示一个条目,这样就能知道还有多少测试需要执行。 @@ -1087,6 +1053,7 @@ describe.todo('unimplemented suite') ### describe.each - **类型:** `(cases: ReadonlyArray, ...args: any[]): (name: string | Function, fn: (...args: T[]) => void, options?: number | TestOptions) => void` +- **别名:** `suite.each` ::: tip 虽然 `describe.each` 是为了兼容 Jest 提供的, @@ -1140,7 +1107,7 @@ describe.each` ``` ::: warning -在将 Vitest 用作[类型检查器](/guide/testing-types)时,不能使用此语法。 +在将 Vitest 用作 [类型检查器](/guide/testing-types) 时,不能使用此语法。 ::: ### describe.for diff --git a/config/index.md b/config/index.md index 9acd9040..c41b536a 100644 --- a/config/index.md +++ b/config/index.md @@ -12,7 +12,7 @@ outline: deep 要配置 Vitest 本身,请在我们的 Vite 配置中添加 `test` 属性。如果我们是从 `vite` 本身导入 `defineConfig`,我们还需要在配置文件顶部使用[三斜杠指令](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html#-reference-types-)添加对 Vitest 类型引用。 -::: details Open Config Examples +::: details 打开配置示例 使用 `vite` 中的 `defineConfig` 时使用以下步骤: ```ts [vite.config.js] From 93163aeb6742480e6f6b269caa3c5e81fd4ef011 Mon Sep 17 00:00:00 2001 From: noise Date: Sun, 16 Nov 2025 21:43:41 +0800 Subject: [PATCH 05/21] typo: fix some issues /api/vi.md --- api/vi.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api/vi.md b/api/vi.md index a2860833..7cb7772a 100644 --- a/api/vi.md +++ b/api/vi.md @@ -4,7 +4,7 @@ outline: deep # Vi -Vitest 通过其 `vi` 辅助工具提供实用功能来帮助你。可以全局访问它(当启用 [globals 配置](/config/#globals) 时),也可以直接从 `vitest` 中导入: +Vitest 通过 `vi` 工具函数提供实用功能。可以全局访问它(当启用 [globals 配置](/config/#globals) 时),也可以直接从 `vitest` 中导入: ```js import { vi } from 'vitest' @@ -452,7 +452,7 @@ expect(Cart).toHaveBeenCalled() function mockObject(value: T): MaybeMockedDeep ``` -它与 `vi.mock()` 模拟模块相同,深层模拟给定对象的属性和方法。详见[自动模拟](/guide/mocking.html#automocking-algorithm)。 +它与 `vi.mock()` 模拟模块相同,深层模拟给定对象的属性和方法。详见 [自动模拟](/guide/mocking.html#automocking-algorithm)。 ```ts const original = { @@ -745,7 +745,7 @@ window.innerWidth = 100 function unstubAllGlobals(): Vitest ``` -恢复 `globalThis` / `global`(和 `window` / `top` / `self` / `parent `,如果我们使用的是 `jsdom` 或 `happy-dom` 环境)上所有被 `vi.stubGlobal` 更改过的全局值。第一次调用时,Vitest 会记住并保存原始值,直到再次调用 `unstubAllGlobals`。 +恢复 `globalThis` / `global`(和 `window` / `top` / `self` / `parent`,如果我们使用的是 `jsdom` 或 `happy-dom` 环境)上所有被 `vi.stubGlobal` 更改过的全局值。第一次调用时,Vitest 会记住并保存原始值,直到再次调用 `unstubAllGlobals`。 ```ts import { vi } from 'vitest' @@ -1006,7 +1006,7 @@ function setSystemTime(date: string | number | Date): Vitest 如果启用了伪计时器,此方法将模拟用户更改系统时钟(将影响与日期相关的 API,如 `hrtime` 、`performance.now` 或 `new Date()` ),但不会触发任何计时器。如果未启用假定时器,该方法将仅模拟 `Date.*` 调用。 -如果我们需要测试任何依赖于当前日期的内容 -- 例如在代码中调用 [luxon](https://github.com/moment/luxon/) --则非常有用。 +适用于需要测试依赖当前日期的场景,例如代码中的 [Luxon](https://github.com/moment/luxon/) 库调用。 接受与 `Date` 相同的字符串和数字参数。 @@ -1044,7 +1044,7 @@ function useFakeTimers(config?: FakeTimerInstallOpts): Vitest function isFakeTimers(): boolean ``` -如果启用了假计时器,则返回 `true` 。 +如果启用了模拟计时器,则返回 `true` 。 ### vi.useRealTimers From be3b27bee61f981010dd322ccd71bec35f27242e Mon Sep 17 00:00:00 2001 From: noise Date: Tue, 18 Nov 2025 23:39:06 +0800 Subject: [PATCH 06/21] typo: fix some issues /guide/filtering --- guide/filtering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/filtering.md b/guide/filtering.md index e6b9b858..be82a69d 100644 --- a/guide/filtering.md +++ b/guide/filtering.md @@ -4,7 +4,7 @@ title: 测试筛选 | 指南 # 测试筛选 {#test-filtering} -用于测试套件(suite)和测试的筛选(filtering)、超时(timeouts)、并发(concurrent)。 +筛选、超时和测试套件的并发。 ## CLI {#cli} From fc6e082d8761cc4db6b583f98942c0e2a702c12b Mon Sep 17 00:00:00 2001 From: noise Date: Wed, 19 Nov 2025 00:33:18 +0800 Subject: [PATCH 07/21] typo: fix some issues /guide/projects --- guide/projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/projects.md b/guide/projects.md index 1c234a04..abdb6b4c 100644 --- a/guide/projects.md +++ b/guide/projects.md @@ -30,7 +30,7 @@ export default defineConfig({ }) ``` -项目配置可以是内联配置、文件或指向项目的 glob 模式。例如,如果你有一个名为 `packages` 的文件夹包含多个项目,可以在根 Vitest 配置中定义一个数组: +项目配置可以是内联配置、文件或指向项目的 glob 模式。例如,如果你有一个名为 `packages` 的文件夹包含多个项目,可以在 Vitest 配置文件中定义一个数组: ```ts [vitest.config.ts] import { defineConfig } from 'vitest/config' From 6e8673688ef58c69e2f1b5e7141dc3e128ec1078 Mon Sep 17 00:00:00 2001 From: noise Date: Wed, 19 Nov 2025 00:34:11 +0800 Subject: [PATCH 08/21] typo: fix some issues /guide/snapshot --- guide/snapshot.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/guide/snapshot.md b/guide/snapshot.md index eee9cfff..dd5fd882 100644 --- a/guide/snapshot.md +++ b/guide/snapshot.md @@ -39,7 +39,7 @@ exports['toUpperCase 1'] = '"FOOBAR"' 在异步并发测试中使用快照时,由于 JavaScript 的限制,你需要使用 [测试环境](/guide/test-context) 中的 `expect` 来确保检测到正确的测试。 ::: -如同前文,你可以使用 [`toMatchInlineSnapshot()`](/api/#tomatchinlinesnapshot) 将内联快照存储在测试文件中。 +同样,你可以使用 [`toMatchInlineSnapshot()`](/api/#tomatchinlinesnapshot) 将内联快照存储在测试文件中。 ```ts import { expect, it } from 'vitest' @@ -81,7 +81,7 @@ vitest -u ## 文件快照 {#file-snapshots} -调用 `toMatchSnapshot()` 时,我们将所有快照存储在格式化的快照文件中。这意味着我们需要转义快照字符串中的一些字符(即双引号 `"` 和反引号 `\``)。同时,你可能会丢失快照内容的语法突出显示(如果它们是某种语言)。 +调用 `toMatchSnapshot()` 时,我们将所有快照存储在格式化的快照文件中。这意味着我们需要转义快照字符串中的一些字符(即双引号 `"` 和反引号 `` ` ``)。同时,你可能会丢失快照内容的语法突出显示(如果它们是某种语言)。 为了改善这种情况,我们引入 [`toMatchFileSnapshot()`](/api/expect#tomatchfilesnapshot) 以在文件中显式快照。这允许你为快照文件分配任何文件扩展名,并使它们更具可读性。 @@ -114,23 +114,28 @@ test('button looks correct', async () => { ## 自定义序列化程序 {#custom-serializer} -你可以添加自己的逻辑来修改快照的序列化方式。像 Jest 一样,Vitest 为内置的 JavaScript 类型、HTML 元素、ImmutableJS 和 React 元素提供了默认的序列化程序。 +你可以添加自己的逻辑来修改快照的序列化方式。像 Jest 一样,Vitest 默认有内置的 JavaScript 类型、HTML 元素、ImmutableJS 和 React 元素提供了默认的序列化程序。 可以使用 [`expect.addSnapshotSerializer`](/api/expect#expect-addsnapshotserializer) 添加自定义序列器。 ```ts expect.addSnapshotSerializer({ serialize(val, config, indentation, depth, refs, printer) { - // `printer` is a function that serializes a value using existing plugins. - return `Pretty foo: ${printer(val.foo, config, indentation, depth, refs)}` + // `printer` 是一个通过现有插件对值进行序列化的函数。 + return `Pretty foo: ${printer( + val.foo, + config, + indentation, + depth, + refs + )}` }, test(val) { return val && Object.prototype.hasOwnProperty.call(val, 'foo') }, }) ``` - -我们还支持 [snapshotSerializers](/config/#snapshotserializers) 选项来隐式添加自定义序列化器。 +我们还支持 [snapshotSerializers](/config/#snapshotserializers) 选项,可以隐式添加自定义序列化器。 ```ts [path/to/custom-serializer.ts] import { SnapshotSerializer } from 'vitest' @@ -156,7 +161,7 @@ export default defineConfig({ }) ``` -如下所示的测试添加后: +添加类似的测试后: ```ts test('foo snapshot test', () => { From 1205ceac2a5e3e3ccc1e64350b9e51427e41a4ff Mon Sep 17 00:00:00 2001 From: noise Date: Wed, 19 Nov 2025 01:01:01 +0800 Subject: [PATCH 09/21] typo: fix some issues /guide/coverage --- guide/coverage.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guide/coverage.md b/guide/coverage.md index ea19b509..090dd4f9 100644 --- a/guide/coverage.md +++ b/guide/coverage.md @@ -49,7 +49,7 @@ npm i -D @vitest/coverage-istanbul 这让用户在享受 V8 覆盖率高速执行的同时,也能获得 Istanbul 覆盖率的高准确度。 ::: -Vitest 默认采用 'v8' 作为覆盖率提供器。 +Vitest 默认采用 `v8` 作为覆盖率提供器。 此提供器依赖于基于 [V8 引擎](https://v8.dev/) 的 JavaScript 运行环境,比如 NodeJS、Deno,或者 Google Chrome 等 Chromium 内核的浏览器。 覆盖率收集是在程序运行时完成的,通过 [`node:inspector`](https://nodejs.org/api/inspector.html) 模块以及浏览器中的 [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/tot/Profiler/) 协议 与 V8 交互即可实现。这样,用户的源码可以直接被执行,而不需要事先进行插桩处理。 @@ -466,11 +466,11 @@ export function ignored() { // [!code error] 如果你的项目中代码覆盖率生成较慢,请参阅[性能测试分析 | 代码覆盖率](/guide/profiling-test-performance.html#code-coverage)。 -## Vitest UI {#vitest-ui} +## UI 模式 {#vitest-ui} -我们可以在 [Vitest UI](/guide/ui) 中查看你的覆盖率报告。 +我们可以在 [UI 模式](/guide/ui) 中查看你的覆盖率报告。 -Vitest UI 会在以下情况下启用覆盖率报告: +UI 模式 会在以下情况下启用覆盖率报告: - 显式启用覆盖率报告:在配置文件中设置 `coverage.enabled=true` ,或运行 Vitest 时添加 `--coverage.enabled=true` 标志。 - 添加 HTML 报告器:将 `html` 添加到 `coverage.reporter` 列表中,我们还可以启用 `subdir` 选项,将覆盖率报告放在子目录中。 From 0dcbdbe82c589169b9d683c3151f24a824ddb180 Mon Sep 17 00:00:00 2001 From: noise Date: Wed, 19 Nov 2025 01:06:07 +0800 Subject: [PATCH 10/21] typo: fix some issues /guide/ui --- guide/ui.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/ui.md b/guide/ui.md index ff2552f8..3936397a 100644 --- a/guide/ui.md +++ b/guide/ui.md @@ -37,7 +37,7 @@ export default defineConfig({ }) ``` -你可以在 Vitest UI 中查看覆盖率报告:查看 [Vitest UI 覆盖率](/guide/coverage#vitest-ui) 了解更多详情。 +你可以在 Vitest UI 中查看覆盖率报告:查看 [覆盖率 | UI 模式](/guide/coverage#vitest-ui) 了解更多详情。 ::: warning 如果你仍想在终端中实时查看测试的运行情况,请不要忘记将 `default` 报告器添加到 `reporters` 选项:`['default', 'html']`。 From d30ad6d9678428b836816c1d29bf01b338cbfc5f Mon Sep 17 00:00:00 2001 From: noise Date: Wed, 19 Nov 2025 02:16:44 +0800 Subject: [PATCH 11/21] typo: fix some issues /guide/cli --- .vitepress/config.ts | 2 +- guide/cli-generated.md | 506 ++++++++++++++++++++--------------------- guide/cli.md | 4 +- 3 files changed, 256 insertions(+), 256 deletions(-) diff --git a/.vitepress/config.ts b/.vitepress/config.ts index 7e411ecc..9e9053eb 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -622,7 +622,7 @@ function guide(): DefaultTheme.SidebarItem[] { link: '/guide/testing-types', }, { - text: 'UI模式', + text: 'UI 模式', link: '/guide/ui', }, { diff --git a/guide/cli-generated.md b/guide/cli-generated.md index 9ca5fc3c..6ff10e55 100644 --- a/guide/cli-generated.md +++ b/guide/cli-generated.md @@ -1,904 +1,904 @@ ### root -- **CLI:** `-r, --root ` -- **Config:** [root](/config/#root) +- **命令行终端:** `-r, --root ` +- **配置:** [root](/config/#root) 根路径 ### config -- **CLI:** `-c, --config ` +- **命令行终端:** `-c, --config ` 配置文件的路径 ### update -- **CLI:** `-u, --update` -- **Config:** [update](/config/#update) +- **命令行终端:** `-u, --update` +- **配置:** [update](/config/#update) 更新快照 ### watch -- **CLI:** `-w, --watch` -- **Config:** [watch](/config/#watch) +- **命令行终端:** `-w, --watch` +- **配置:** [watch](/config/#watch) 启用观察模式 ### testNamePattern -- **CLI:** `-t, --testNamePattern ` -- **Config:** [testNamePattern](/config/#testnamepattern) +- **命令行终端:** `-t, --testNamePattern ` +- **配置:** [testNamePattern](/config/#testnamepattern) 使用符合指定 regexp 模式的运行测试 ### dir -- **CLI:** `--dir ` -- **Config:** [dir](/config/#dir) +- **命令行终端:** `--dir ` +- **配置:** [dir](/config/#dir) 扫描测试文件的基本目录 ### ui -- **CLI:** `--ui` -- **Config:** [ui](/config/#ui) +- **命令行终端:** `--ui` +- **配置:** [ui](/config/#ui) -启用UI +启用 UI 模式 ### open -- **CLI:** `--open` -- **Config:** [open](/config/#open) +- **命令行终端:** `--open` +- **配置:** [open](/config/#open) 自动打开用户界面(默认值:`!process.env.CI`)。 ### api.port -- **CLI:** `--api.port [port]` +- **命令行终端:** `--api.port [port]` 指定服务器端口。注意,如果端口已被使用,Vite 会自动尝试下一个可用端口,因此这可能不是服务器最终监听的实际端口。如果为 `true`,将设置为`51204` ### api.host -- **CLI:** `--api.host [host]` +- **命令行终端:** `--api.host [host]` 指定服务器应该监听哪些 IP 地址。设为 `0.0.0.0` 或 `true` 则监听所有地址,包括局域网地址和公共地址 ### api.strictPort -- **CLI:** `--api.strictPort` +- **命令行终端:** `--api.strictPort` 设置为 true 时,如果端口已被使用,则退出,而不是自动尝试下一个可用端口 ### silent -- **CLI:** `--silent [value]` -- **Config:** [silent](/config/#silent) +- **命令行终端:** `--silent [value]` +- **配置:** [silent](/config/#silent) 测试的静默控制台输出。使用 `'passed-only'` 仅查看失败测试的日志。 ### hideSkippedTests -- **CLI:** `--hideSkippedTests` +- **命令行终端:** `--hideSkippedTests` 隐藏跳过测试的日志 ### reporters -- **CLI:** `--reporter ` -- **Config:** [reporters](/config/#reporters) +- **命令行终端:** `--reporter ` +- **配置:** [reporters](/config/#reporters) 指定报告器(default、blob、verbose、dot、json、tap、tap-flat、junit、tree、hanging-process、github-actions) ### outputFile -- **CLI:** `--outputFile ` -- **Config:** [outputFile](/config/#outputfile) +- **命令行终端:** `--outputFile ` +- **配置:** [outputFile](/config/#outputfile) -如果还指定了支持报告程序,则将测试结果写入文件,使用 cac 的点符号表示多个报告程序的单个输出结果 (比如: --outputFile.tap=./tap.txt) +如果还指定了支持报告程序,则将测试结果写入文件,使用 cac 的点符号表示多个报告程序的单个输出结果 (比如: `--outputFile.tap=./tap.txt`) ### coverage.provider -- **CLI:** `--coverage.provider ` -- **Config:** [coverage.provider](/config/#coverage-provider) +- **命令行终端:** `--coverage.provider ` +- **配置:** [coverage.provider](/config/#coverage-provider) 选择覆盖范围采集工具, 可用值为: "v8", "istanbul" and "custom" ### coverage.enabled -- **CLI:** `--coverage.enabled` -- **Config:** [coverage.enabled](/config/#coverage-enabled) +- **命令行终端:** `--coverage.enabled` +- **配置:** [coverage.enabled](/config/#coverage-enabled) 启用覆盖范围收集。可使用 `--coverage` CLI 选项覆盖(默认值:`false`)。 ### coverage.include -- **CLI:** `--coverage.include ` -- **Config:** [coverage.include](/config/#coverage-include) +- **命令行终端:** `--coverage.include ` +- **配置:** [coverage.include](/config/#coverage-include) 作为通配符模式包含在覆盖率中的文件。在使用多个模式时可以指定多次。默认情况下,只包含被测试覆盖的文件。 ### coverage.exclude -- **CLI:** `--coverage.exclude ` -- **Config:** [coverage.exclude](/config/#coverage-exclude) +- **命令行终端:** `--coverage.exclude ` +- **配置:** [coverage.exclude](/config/#coverage-exclude) 覆盖范围中要排除的文件。使用多个扩展名时,可指定多次。 ### coverage.clean -- **CLI:** `--coverage.clean` -- **Config:** [coverage.clean](/config/#coverage-clean) +- **命令行终端:** `--coverage.clean` +- **配置:** [coverage.clean](/config/#coverage-clean) 运行测试前清除覆盖结果(默认值:true) ### coverage.cleanOnRerun -- **CLI:** `--coverage.cleanOnRerun` -- **Config:** [coverage.cleanOnRerun](/config/#coverage-cleanonrerun) +- **命令行终端:** `--coverage.cleanOnRerun` +- **配置:** [coverage.cleanOnRerun](/config/#coverage-cleanonrerun) 重新运行监视时清理覆盖率报告(默认值:true) ### coverage.reportsDirectory -- **CLI:** `--coverage.reportsDirectory ` -- **Config:** [coverage.reportsDirectory](/config/#coverage-reportsdirectory) +- **命令行终端:** `--coverage.reportsDirectory ` +- **配置:** [coverage.reportsDirectory](/config/#coverage-reportsdirectory) 将覆盖率报告写入的目录(默认值: ./coverage) ### coverage.reporter -- **CLI:** `--coverage.reporter ` -- **Config:** [coverage.reporter](/config/#coverage-reporter) +- **命令行终端:** `--coverage.reporter ` +- **配置:** [coverage.reporter](/config/#coverage-reporter) 使用的报告。更多信息请访问 [`coverage.reporter`](https://vitest.dev/config/#coverage-reporter)。 (默认值: `["text", "html", "clover", "json"]`) ### coverage.reportOnFailure -- **CLI:** `--coverage.reportOnFailure` -- **Config:** [coverage.reportOnFailure](/config/#coverage-reportonfailure) +- **命令行终端:** `--coverage.reportOnFailure` +- **配置:** [coverage.reportOnFailure](/config/#coverage-reportonfailure) 即使测试失败也能生成覆盖率报告 (默认值: `false`) ### coverage.allowExternal -- **CLI:** `--coverage.allowExternal` -- **Config:** [coverage.allowExternal](/config/#coverage-allowexternal) +- **命令行终端:** `--coverage.allowExternal` +- **配置:** [coverage.allowExternal](/config/#coverage-allowexternal) 收集项目根目录外文件的覆盖范围(默认值:`false`) ### coverage.skipFull -- **CLI:** `--coverage.skipFull` -- **Config:** [coverage.skipFull](/config/#coverage-skipfull) +- **命令行终端:** `--coverage.skipFull` +- **配置:** [coverage.skipFull](/config/#coverage-skipfull) 不显示语句、分支和函数覆盖率为 100% 的文件(默认值:`false`) ### coverage.thresholds.100 -- **CLI:** `--coverage.thresholds.100` -- **Config:** [coverage.thresholds.100](/config/#coverage-thresholds-100) +- **命令行终端:** `--coverage.thresholds.100` +- **配置:** [coverage.thresholds.100](/config/#coverage-thresholds-100) 将所有覆盖率阈值设置为 100 的快捷方式(默认值:`false`) ### coverage.thresholds.perFile -- **CLI:** `--coverage.thresholds.perFile` -- **Config:** [coverage.thresholds.perFile](/config/#coverage-thresholds-perfile) +- **命令行终端:** `--coverage.thresholds.perFile` +- **配置:** [coverage.thresholds.perFile](/config/#coverage-thresholds-perfile) -查每个文件的阈值。 `--coverage.thresholds.lines`, `--coverage.thresholds.functions`, `--coverage.thresholds.branches`, `--coverage.thresholds.statements` 为实际阈值(默认值:`false`) +检查每个文件的阈值。 `--coverage.thresholds.lines`, `--coverage.thresholds.functions`, `--coverage.thresholds.branches`, `--coverage.thresholds.statements` 为实际阈值(默认值:`false`) ### coverage.thresholds.autoUpdate -- **CLI:** `--coverage.thresholds.autoUpdate ` -- **Config:** [coverage.thresholds.autoUpdate](/config/#coverage-thresholds-autoupdate) +- **命令行终端:** `--coverage.thresholds.autoUpdate ` +- **配置:** [coverage.thresholds.autoUpdate](/config/#coverage-thresholds-autoupdate) -更新阈值: 当当前覆盖率高于配置的阈值时,将 "lines"、"functions"、"branches"和 "statements"更新到配置文件(默认值:`false`) +更新阈值: 当前覆盖率高于配置的阈值时,将 "lines"、"functions"、"branches"和 "statements"更新到配置文件(默认值:`false`) ### coverage.thresholds.lines -- **CLI:** `--coverage.thresholds.lines ` +- **命令行终端:** `--coverage.thresholds.lines ` 针对代码行的覆盖度阈值设定,请访问 [istanbuljs](https://github.com/istanbuljs/nyc#coverage-thresholds) 了解更多信息。此选项不适用于自定义 providers ### coverage.thresholds.functions -- **CLI:** `--coverage.thresholds.functions ` +- **命令行终端:** `--coverage.thresholds.functions ` 针对函数的覆盖度阈值设定,请访问 [istanbuljs](https://github.com/istanbuljs/nyc#coverage-thresholds) 了解更多信息。 此选项不适用于自定义 providers ### coverage.thresholds.branches -- **CLI:** `--coverage.thresholds.branches ` +- **命令行终端:** `--coverage.thresholds.branches ` 针对 branches 的覆盖度阈值设定,请访问 [istanbuljs](https://github.com/istanbuljs/nyc#coverage-thresholds) 了解更多信息。 此选项不适用于自定义 providers ### coverage.thresholds.statements -- **CLI:** `--coverage.thresholds.statements ` +- **命令行终端:** `--coverage.thresholds.statements ` 针对 statements 的覆盖度阈值设定,请访问 [istanbuljs](https://github.com/istanbuljs/nyc#coverage-thresholds) 了解更多信息。 此选项不适用于自定义 providers ### coverage.ignoreClassMethods -- **CLI:** `--coverage.ignoreClassMethods ` -- **Config:** [coverage.ignoreClassMethods](/config/#coverage-ignoreclassmethods) +- **命令行终端:** `--coverage.ignoreClassMethods ` +- **配置:** [coverage.ignoreClassMethods](/config/#coverage-ignoreclassmethods) 覆盖时要忽略的类方法名称数组。更多信息请访问 [istanbuljs](https://github.com/istanbuljs/nyc#ignoring-methods) 。该选项仅适用于 istanbul providers(默认值:`[]`)。 ### coverage.processingConcurrency -- **CLI:** `--coverage.processingConcurrency ` -- **Config:** [coverage.processingConcurrency](/config/#coverage-processingconcurrency) +- **命令行终端:** `--coverage.processingConcurrency ` +- **配置:** [coverage.processingConcurrency](/config/#coverage-processingconcurrency) 处理覆盖率结果时使用的并发限制。 (默认最小值介于 20 和 CPU 数量之间) ### coverage.customProviderModule -- **CLI:** `--coverage.customProviderModule ` -- **Config:** [coverage.customProviderModule](/config/#coverage-customprovidermodule) +- **命令行终端:** `--coverage.customProviderModule ` +- **配置:** [coverage.customProviderModule](/config/#coverage-customprovidermodule) -指定自定义覆盖范围提供程序模块的模块名称或路径。 请访问[自定义 providers 覆盖范围](https://vitest.dev/guide/coverage#custom-coverage-provider) 了解更多信息。 此选项仅适用于自定义 providers +指定自定义覆盖范围提供程序模块的模块名称或路径。 请访问 [自定义 providers 覆盖范围](/guide/coverage#custom-coverage-provider) 了解更多信息。 此选项仅适用于自定义 providers ### coverage.watermarks.statements -- **CLI:** `--coverage.watermarks.statements ` +- **命令行终端:** `--coverage.watermarks.statements ` High and low watermarks for statements in the format of `,` ### coverage.watermarks.lines -- **CLI:** `--coverage.watermarks.lines ` +- **命令行终端:** `--coverage.watermarks.lines ` High and low watermarks for lines in the format of `,` ### coverage.watermarks.branches -- **CLI:** `--coverage.watermarks.branches ` +- **命令行终端:** `--coverage.watermarks.branches ` High and low watermarks for branches in the format of `,` ### coverage.watermarks.functions -- **CLI:** `--coverage.watermarks.functions ` +- **命令行终端:** `--coverage.watermarks.functions ` High and low watermarks for functions in the format of `,` ### mode -- **CLI:** `--mode ` -- **Config:** [mode](/config/#mode) +- **命令行终端:** `--mode ` +- **配置:** [mode](/config/#mode) 覆盖 Vite 模式 (默认值: `test` 或 `benchmark`) ### isolate -- **CLI:** `--isolate` -- **Config:** [isolate](/config/#isolate) +- **命令行终端:** `--isolate` +- **配置:** [isolate](/config/#isolate) 隔离运行每个测试文件。要禁用隔离, 使用 `--no-isolate` (默认值: `true`) ### globals -- **CLI:** `--globals` -- **Config:** [globals](/config/#globals) +- **命令行终端:** `--globals` +- **配置:** [globals](/config/#globals) 全局注入 ### dom -- **CLI:** `--dom` +- **命令行终端:** `--dom` 使用 happy-dom 模拟浏览器 API ### browser.enabled -- **CLI:** `--browser.enabled` -- **Config:** [browser.enabled](/guide/browser/config#browser-enabled) +- **命令行终端:** `--browser.enabled` +- **配置:** [browser.enabled](/guide/browser/config#browser-enabled) 在浏览器中运行测试。 相当于 `--browser.enabled` (默认值: `false`) ### browser.name -- **CLI:** `--browser.name ` -- **Config:** [browser.name](/guide/browser/config#browser-name) +- **命令行终端:** `--browser.name ` +- **配置:** [browser.name](/guide/browser/config#browser-name) 在特定浏览器中运行所有测试。某些浏览器仅适用于特定提供商(请参阅 `--browser.provider` )。访问 [`browser.name`](https://vitest.dev/guide/browser/config/#browser-name) 了解更多信息 ### browser.headless -- **CLI:** `--browser.headless` -- **Config:** [browser.headless](/guide/browser/config#browser-headless) +- **命令行终端:** `--browser.headless` +- **配置:** [browser.headless](/guide/browser/config#browser-headless) 在无头模式下运行浏览器(即不打开图形用户界面)。如果在 CI 中运行 Vitest,默认情况下将启用无头模式 (默认值: `process.env.CI`) ### browser.api.port -- **CLI:** `--browser.api.port [port]` -- **Config:** [browser.api.port](/guide/browser/config#browser-api-port) +- **命令行终端:** `--browser.api.port [port]` +- **配置:** [browser.api.port](/guide/browser/config#browser-api-port) 指定服务器端口。注意,如果端口已被使用,Vite 会自动尝试下一个可用端口,因此这可能不是服务器最终监听的实际端口。如果为 `true`,将设置为 `63315` ### browser.api.host -- **CLI:** `--browser.api.host [host]` -- **Config:** [browser.api.host](/guide/browser/config#browser-api-host) +- **命令行终端:** `--browser.api.host [host]` +- **配置:** [browser.api.host](/guide/browser/config#browser-api-host) 指定服务器应该监听哪些 IP 地址。设为 `0.0.0.0` 或 `true` 则监听所有地址,包括局域网地址和公共地址 ### browser.api.strictPort -- **CLI:** `--browser.api.strictPort` -- **Config:** [browser.api.strictPort](/guide/browser/config#browser-api-strictport) +- **命令行终端:** `--browser.api.strictPort` +- **配置:** [browser.api.strictPort](/guide/browser/config#browser-api-strictport) 设置为 true 时,如果端口已被使用,则退出,而不是自动尝试下一个可用端口 ### browser.provider -- **CLI:** `--browser.provider ` -- **Config:** [browser.provider](/guide/browser/config#browser-provider) +- **命令行终端:** `--browser.provider ` +- **配置:** [browser.provider](/guide/browser/config#browser-provider) 指定执行浏览器测试时所使用的提供程序。部分浏览器仅在特定的提供程序下可用。可选值有 "webdriverio"、"playwright"、"preview",也可以填写自定义提供程序的路径。更多信息请查看 [`browser.provider`](https://vitest.dev/guide/browser/config.html#browser-provider)(默认值为 "preview")。 ### browser.isolate -- **CLI:** `--browser.isolate` -- **Config:** [browser.isolate](/guide/browser/config#browser-isolate) +- **命令行终端:** `--browser.isolate` +- **配置:** [browser.isolate](/guide/browser/config#browser-isolate) 隔离运行每个浏览器测试文件。要禁用隔离请使用 `--browser.isolate=false` (默认值: `true`) ### browser.ui -- **CLI:** `--browser.ui` -- **Config:** [browser.ui](/guide/browser/config#browser-ui) +- **命令行终端:** `--browser.ui` +- **配置:** [browser.ui](/guide/browser/config#browser-ui) -运行测试时显示 Vitest UI(默认值: `!process.env.CI`) +运行测试时显示 Vitest UI (默认值: `!process.env.CI`) ### browser.fileParallelism -- **CLI:** `--browser.fileParallelism` -- **Config:** [browser.fileParallelism](/guide/browser/config#browser-fileparallelism) +- **命令行终端:** `--browser.fileParallelism` +- **配置:** [browser.fileParallelism](/guide/browser/config#browser-fileparallelism) -浏览器测试文件是否应并行运行。使用 `--browser.fileParallelism=false` 可禁用 (默认值: `true`) +浏览器测试文件是否应并行运行。使用 `--browser.fileParallelism=false` 进行禁用 (默认值: `true`) ### browser.connectTimeout -- **CLI:** `--browser.connectTimeout ` -- **Config:** [browser.connectTimeout](/guide/browser/config#browser-connecttimeout) +- **命令行终端:** `--browser.connectTimeout ` +- **配置:** [browser.connectTimeout](/guide/browser/config#browser-connecttimeout) -If connection to the browser takes longer, the test suite will fail (default: `60_000`) +如果连接浏览器时间超时,测试套件将失败 (默认值: `60_000`) ### browser.trackUnhandledErrors -- **CLI:** `--browser.trackUnhandledErrors` -- **Config:** [browser.trackUnhandledErrors](/guide/browser/config#browser-trackunhandlederrors) +- **命令行终端:** `--browser.trackUnhandledErrors` +- **配置:** [browser.trackUnhandledErrors](/guide/browser/config#browser-trackunhandlederrors) 控制 Vitest 是否捕获未捕获的异常以便报告(默认:`true`)。 ### browser.trace -- **CLI:** `--browser.trace ` -- **Config:** [browser.trace](/guide/browser/config#browser-trace) +- **命令行终端:** `--browser.trace ` +- **配置:** [browser.trace](/guide/browser/config#browser-trace) Enable trace view mode. Supported: "on", "off", "on-first-retry", "on-all-retries", "retain-on-failure". ### pool -- **CLI:** `--pool ` -- **Config:** [pool](/config/#pool) +- **命令行终端:** `--pool ` +- **配置:** [pool](/config/#pool) 如果未在浏览器中运行,则指定 pool (默认值: `threads`) ### poolOptions.threads.isolate -- **CLI:** `--poolOptions.threads.isolate` -- **Config:** [poolOptions.threads.isolate](/config/#pooloptions-threads-isolate) +- **命令行终端:** `--poolOptions.threads.isolate` +- **配置:** [poolOptions.threads.isolate](/config/#pooloptions-threads-isolate) 在线程池中隔离测试 (默认值: `true`) ### poolOptions.threads.singleThread -- **CLI:** `--poolOptions.threads.singleThread` -- **Config:** [poolOptions.threads.singleThread](/config/#pooloptions-threads-singlethread) +- **命令行终端:** `--poolOptions.threads.singleThread` +- **配置:** [poolOptions.threads.singleThread](/config/#pooloptions-threads-singlethread) 在单线程内运行测试 (默认值: `false`) ### poolOptions.threads.maxThreads -- **CLI:** `--poolOptions.threads.maxThreads ` -- **Config:** [poolOptions.threads.maxThreads](/config/#pooloptions-threads-maxthreads) +- **命令行终端:** `--poolOptions.threads.maxThreads ` +- **配置:** [poolOptions.threads.maxThreads](/config/#pooloptions-threads-maxthreads) 运行测试的最大线程数或百分比 ### poolOptions.threads.useAtomics -- **CLI:** `--poolOptions.threads.useAtomics` -- **Config:** [poolOptions.threads.useAtomics](/config/#pooloptions-threads-useatomics) +- **命令行终端:** `--poolOptions.threads.useAtomics` +- **配置:** [poolOptions.threads.useAtomics](/config/#pooloptions-threads-useatomics) 使用 Atomics 同步线程。这在某些情况下可以提高性能,但在较旧的 Node 版本中可能会导致 segfault。 (默认值: `false`) ### poolOptions.vmThreads.isolate -- **CLI:** `--poolOptions.vmThreads.isolate` -- **Config:** [poolOptions.vmThreads.isolate](/config/#pooloptions-vmthreads-isolate) +- **命令行终端:** `--poolOptions.vmThreads.isolate` +- **配置:** [poolOptions.vmThreads.isolate](/config/#pooloptions-vmthreads-isolate) 在线程池中隔离测试 (默认值: `true`) ### poolOptions.vmThreads.singleThread -- **CLI:** `--poolOptions.vmThreads.singleThread` -- **Config:** [poolOptions.vmThreads.singleThread](/config/#pooloptions-vmthreads-singlethread) +- **命令行终端:** `--poolOptions.vmThreads.singleThread` +- **配置:** [poolOptions.vmThreads.singleThread](/config/#pooloptions-vmthreads-singlethread) 在单线程内运行测试(默认值:`false`) ### poolOptions.vmThreads.maxThreads -- **CLI:** `--poolOptions.vmThreads.maxThreads ` -- **Config:** [poolOptions.vmThreads.maxThreads](/config/#pooloptions-vmthreads-maxthreads) +- **命令行终端:** `--poolOptions.vmThreads.maxThreads ` +- **配置:** [poolOptions.vmThreads.maxThreads](/config/#pooloptions-vmthreads-maxthreads) 运行测试的最大线程数或百分比 ### poolOptions.vmThreads.useAtomics -- **CLI:** `--poolOptions.vmThreads.useAtomics` -- **Config:** [poolOptions.vmThreads.useAtomics](/config/#pooloptions-vmthreads-useatomics) +- **命令行终端:** `--poolOptions.vmThreads.useAtomics` +- **配置:** [poolOptions.vmThreads.useAtomics](/config/#pooloptions-vmthreads-useatomics) 使用 Atomics 同步线程。这在某些情况下可以提高性能,但在较旧的 Node 版本中可能会导致 segfault。 (默认值: `false`) ### poolOptions.vmThreads.memoryLimit -- **CLI:** `--poolOptions.vmThreads.memoryLimit ` -- **Config:** [poolOptions.vmThreads.memoryLimit](/config/#pooloptions-vmthreads-memorylimit) +- **命令行终端:** `--poolOptions.vmThreads.memoryLimit ` +- **配置:** [poolOptions.vmThreads.memoryLimit](/config/#pooloptions-vmthreads-memorylimit) 虚拟机线程池的内存限制。如果发现内存泄漏,请尝试调整该值。 ### poolOptions.forks.isolate -- **CLI:** `--poolOptions.forks.isolate` -- **Config:** [poolOptions.forks.isolate](/config/#pooloptions-forks-isolate) +- **命令行终端:** `--poolOptions.forks.isolate` +- **配置:** [poolOptions.forks.isolate](/config/#pooloptions-forks-isolate) 在 forks pool 中隔离测试 (默认值: `true`) ### poolOptions.forks.singleFork -- **CLI:** `--poolOptions.forks.singleFork` -- **Config:** [poolOptions.forks.singleFork](/config/#pooloptions-forks-singlefork) +- **命令行终端:** `--poolOptions.forks.singleFork` +- **配置:** [poolOptions.forks.singleFork](/config/#pooloptions-forks-singlefork) 单个子进程内运行测试 (default: `false`) ### poolOptions.forks.maxForks -- **CLI:** `--poolOptions.forks.maxForks ` -- **Config:** [poolOptions.forks.maxForks](/config/#pooloptions-forks-maxforks) +- **命令行终端:** `--poolOptions.forks.maxForks ` +- **配置:** [poolOptions.forks.maxForks](/config/#pooloptions-forks-maxforks) 运行测试的最大进程数 ### poolOptions.vmForks.isolate -- **CLI:** `--poolOptions.vmForks.isolate` -- **Config:** [poolOptions.vmForks.isolate](/config/#pooloptions-vmforks-isolate) +- **命令行终端:** `--poolOptions.vmForks.isolate` +- **配置:** [poolOptions.vmForks.isolate](/config/#pooloptions-vmforks-isolate) 在 forks pool 中隔离测试 (default: `true`) ### poolOptions.vmForks.singleFork -- **CLI:** `--poolOptions.vmForks.singleFork` -- **Config:** [poolOptions.vmForks.singleFork](/config/#pooloptions-vmforks-singlefork) +- **命令行终端:** `--poolOptions.vmForks.singleFork` +- **配置:** [poolOptions.vmForks.singleFork](/config/#pooloptions-vmforks-singlefork) 在单个子进程内运行测试 (default: `false`) ### poolOptions.vmForks.maxForks -- **CLI:** `--poolOptions.vmForks.maxForks ` -- **Config:** [poolOptions.vmForks.maxForks](/config/#pooloptions-vmforks-maxforks) +- **命令行终端:** `--poolOptions.vmForks.maxForks ` +- **配置:** [poolOptions.vmForks.maxForks](/config/#pooloptions-vmforks-maxforks) 运行测试的最大进程数 ### poolOptions.vmForks.memoryLimit -- **CLI:** `--poolOptions.vmForks.memoryLimit ` -- **Config:** [poolOptions.vmForks.memoryLimit](/config/#pooloptions-vmforks-memorylimit) +- **命令行终端:** `--poolOptions.vmForks.memoryLimit ` +- **配置:** [poolOptions.vmForks.memoryLimit](/config/#pooloptions-vmforks-memorylimit) VM forks pool 的内存限制。如果你观察到内存泄漏问题,可以尝试调整这个值。 ### fileParallelism -- **CLI:** `--fileParallelism` -- **Config:** [fileParallelism](/config/#fileparallelism) +- **命令行终端:** `--fileParallelism` +- **配置:** [fileParallelism](/config/#fileparallelism) 是否所有测试文件都应并行运行. 使用 `--no-file-parallelism` 去禁用 (默认值: `true`) ### maxWorkers -- **CLI:** `--maxWorkers ` -- **Config:** [maxWorkers](/config/#maxworkers) +- **命令行终端:** `--maxWorkers ` +- **配置:** [maxWorkers](/config/#maxworkers) 同时并发执行测试任务的最大线程数或百分比 ### environment -- **CLI:** `--environment ` -- **Config:** [environment](/config/#environment) +- **命令行终端:** `--environment ` +- **配置:** [environment](/config/#environment) 如果不在浏览器中运行,则指定运行环境 (默认值: `node`) ### passWithNoTests -- **CLI:** `--passWithNoTests` -- **Config:** [passWithNoTests](/config/#passwithnotests) +- **命令行终端:** `--passWithNoTests` +- **配置:** [passWithNoTests](/config/#passwithnotests) 未发现测试时通过 ### logHeapUsage -- **CLI:** `--logHeapUsage` -- **Config:** [logHeapUsage](/config/#logheapusage) +- **命令行终端:** `--logHeapUsage` +- **配置:** [logHeapUsage](/config/#logheapusage) 在节点中运行时,显示每个测试的堆大小 ### allowOnly -- **CLI:** `--allowOnly` -- **Config:** [allowOnly](/config/#allowonly) +- **命令行终端:** `--allowOnly` +- **配置:** [allowOnly](/config/#allowonly) 允许执行那些被标记为"only"的测试用例或测试套件 (默认值: `!process.env.CI`) ### dangerouslyIgnoreUnhandledErrors -- **CLI:** `--dangerouslyIgnoreUnhandledErrors` -- **Config:** [dangerouslyIgnoreUnhandledErrors](/config/#dangerouslyignoreunhandlederrors) +- **命令行终端:** `--dangerouslyIgnoreUnhandledErrors` +- **配置:** [dangerouslyIgnoreUnhandledErrors](/config/#dangerouslyignoreunhandlederrors) 忽略任何未处理的错误 ### sequence.shuffle.files -- **CLI:** `--sequence.shuffle.files` -- **Config:** [sequence.shuffle.files](/config/#sequence-shuffle-files) +- **命令行终端:** `--sequence.shuffle.files` +- **配置:** [sequence.shuffle.files](/config/#sequence-shuffle-files) 以随机顺序运行文件。如果启用此选项,长时间运行的测试将不会提前开始。 (默认值: `false`) ### sequence.shuffle.tests -- **CLI:** `--sequence.shuffle.tests` -- **Config:** [sequence.shuffle.tests](/config/#sequence-shuffle-tests) +- **命令行终端:** `--sequence.shuffle.tests` +- **配置:** [sequence.shuffle.tests](/config/#sequence-shuffle-tests) 以随机方式运行测试(默认值:`false`) ### sequence.concurrent -- **CLI:** `--sequence.concurrent` -- **Config:** [sequence.concurrent](/config/#sequence-concurrent) +- **命令行终端:** `--sequence.concurrent` +- **配置:** [sequence.concurrent](/config/#sequence-concurrent) 使测试并行运行(默认值:`false`) ### sequence.seed -- **CLI:** `--sequence.seed ` -- **Config:** [sequence.seed](/config/#sequence-seed) +- **命令行终端:** `--sequence.seed ` +- **配置:** [sequence.seed](/config/#sequence-seed) 设置随机化种子。如果 --sequence.shuffle(随机序列)是`false`,则此选项无效。 t 通过 ["Random Seed" page](https://en.wikipedia.org/wiki/Random_seed) 查看更多信息 ### sequence.hooks -- **CLI:** `--sequence.hooks ` -- **Config:** [sequence.hooks](/config/#sequence-hooks) +- **命令行终端:** `--sequence.hooks ` +- **配置:** [sequence.hooks](/config/#sequence-hooks) 更改钩子的执行顺序。 可接受的值有: "stack", "list" and "parallel". 通过 [`sequence.hooks`](https://vitest.dev/config/#sequence-hooks) 查看更多信息 (默认值: `"parallel"`) ### sequence.setupFiles -- **CLI:** `--sequence.setupFiles ` -- **Config:** [sequence.setupFiles](/config/#sequence-setupfiles) +- **命令行终端:** `--sequence.setupFiles ` +- **配置:** [sequence.setupFiles](/config/#sequence-setupfiles) 更改设置文件的执行顺序。可接受的值有 "list" 和 "parallel"。如果设置为"list",将按照定义的顺序运行设置文件。如果设置为 "parallel",将并行运行设置文件(默认值:`"parallel"`)。 ### inspect -- **CLI:** `--inspect [[host:]port]` -- **Config:** [inspect](/config/#inspect) +- **命令行终端:** `--inspect [[host:]port]` +- **配置:** [inspect](/config/#inspect) 启用 Node.js 检查器(默认值:`127.0.0.1:9229`) ### inspectBrk -- **CLI:** `--inspectBrk [[host:]port]` -- **Config:** [inspectBrk](/config/#inspectbrk) +- **命令行终端:** `--inspectBrk [[host:]port]` +- **配置:** [inspectBrk](/config/#inspectbrk) 启用 Node.js 检查器并在测试开始前中断 ### testTimeout -- **CLI:** `--testTimeout ` -- **Config:** [testTimeout](/config/#testtimeout) +- **命令行终端:** `--testTimeout ` +- **配置:** [testTimeout](/config/#testtimeout) 测试的默认超时(毫秒)(默认值:`5000`)。使用 `0` 完全禁用超时。 ### hookTimeout -- **CLI:** `--hookTimeout ` -- **Config:** [hookTimeout](/config/#hooktimeout) +- **命令行终端:** `--hookTimeout ` +- **配置:** [hookTimeout](/config/#hooktimeout) 默认钩子超时(以毫秒为单位)(默认值:`10000`)。使用 `0` 完全禁用超时。 ### bail -- **CLI:** `--bail ` -- **Config:** [bail](/config/#bail) +- **命令行终端:** `--bail ` +- **配置:** [bail](/config/#bail) 当指定数量的测试失败时停止测试执行(默认值:`0`) ### retry -- **CLI:** `--retry ` -- **Config:** [retry](/config/#retry) +- **命令行终端:** `--retry ` +- **配置:** [retry](/config/#retry) 如果测试失败,重试特定次数(默认值: `0`)。 ### diff.aAnnotation -- **CLI:** `--diff.aAnnotation ` -- **Config:** [diff.aAnnotation](/config/#diff-aannotation) +- **命令行终端:** `--diff.aAnnotation ` +- **配置:** [diff.aAnnotation](/config/#diff-aannotation) Annotation for expected lines (default: `Expected`) ### diff.aIndicator -- **CLI:** `--diff.aIndicator ` -- **Config:** [diff.aIndicator](/config/#diff-aindicator) +- **命令行终端:** `--diff.aIndicator ` +- **配置:** [diff.aIndicator](/config/#diff-aindicator) Indicator for expected lines (default: `-`) ### diff.bAnnotation -- **CLI:** `--diff.bAnnotation ` -- **Config:** [diff.bAnnotation](/config/#diff-bannotation) +- **命令行终端:** `--diff.bAnnotation ` +- **配置:** [diff.bAnnotation](/config/#diff-bannotation) Annotation for received lines (default: `Received`) ### diff.bIndicator -- **CLI:** `--diff.bIndicator ` -- **Config:** [diff.bIndicator](/config/#diff-bindicator) +- **命令行终端:** `--diff.bIndicator ` +- **配置:** [diff.bIndicator](/config/#diff-bindicator) Indicator for received lines (default: `+`) ### diff.commonIndicator -- **CLI:** `--diff.commonIndicator ` -- **Config:** [diff.commonIndicator](/config/#diff-commonindicator) +- **命令行终端:** `--diff.commonIndicator ` +- **配置:** [diff.commonIndicator](/config/#diff-commonindicator) Indicator for common lines (default: ` `) ### diff.contextLines -- **CLI:** `--diff.contextLines ` -- **Config:** [diff.contextLines](/config/#diff-contextlines) +- **命令行终端:** `--diff.contextLines ` +- **配置:** [diff.contextLines](/config/#diff-contextlines) Number of lines of context to show around each change (default: `5`) ### diff.emptyFirstOrLastLinePlaceholder -- **CLI:** `--diff.emptyFirstOrLastLinePlaceholder ` -- **Config:** [diff.emptyFirstOrLastLinePlaceholder](/config/#diff-emptyfirstorlastlineplaceholder) +- **命令行终端:** `--diff.emptyFirstOrLastLinePlaceholder ` +- **配置:** [diff.emptyFirstOrLastLinePlaceholder](/config/#diff-emptyfirstorlastlineplaceholder) Placeholder for an empty first or last line (default: `""`) ### diff.expand -- **CLI:** `--diff.expand` -- **Config:** [diff.expand](/config/#diff-expand) +- **命令行终端:** `--diff.expand` +- **配置:** [diff.expand](/config/#diff-expand) Expand all common lines (default: `true`) ### diff.includeChangeCounts -- **CLI:** `--diff.includeChangeCounts` -- **Config:** [diff.includeChangeCounts](/config/#diff-includechangecounts) +- **命令行终端:** `--diff.includeChangeCounts` +- **配置:** [diff.includeChangeCounts](/config/#diff-includechangecounts) Include comparison counts in diff output (default: `false`) ### diff.omitAnnotationLines -- **CLI:** `--diff.omitAnnotationLines` -- **Config:** [diff.omitAnnotationLines](/config/#diff-omitannotationlines) +- **命令行终端:** `--diff.omitAnnotationLines` +- **配置:** [diff.omitAnnotationLines](/config/#diff-omitannotationlines) Omit annotation lines from the output (default: `false`) ### diff.printBasicPrototype -- **CLI:** `--diff.printBasicPrototype` -- **Config:** [diff.printBasicPrototype](/config/#diff-printbasicprototype) +- **命令行终端:** `--diff.printBasicPrototype` +- **配置:** [diff.printBasicPrototype](/config/#diff-printbasicprototype) Print basic prototype Object and Array (default: `true`) ### diff.maxDepth -- **CLI:** `--diff.maxDepth ` -- **Config:** [diff.maxDepth](/config/#diff-maxdepth) +- **命令行终端:** `--diff.maxDepth ` +- **配置:** [diff.maxDepth](/config/#diff-maxdepth) Limit the depth to recurse when printing nested objects (default: `20`) ### diff.truncateThreshold -- **CLI:** `--diff.truncateThreshold ` -- **Config:** [diff.truncateThreshold](/config/#diff-truncatethreshold) +- **命令行终端:** `--diff.truncateThreshold ` +- **配置:** [diff.truncateThreshold](/config/#diff-truncatethreshold) Number of lines to show before and after each change (default: `0`) ### diff.truncateAnnotation -- **CLI:** `--diff.truncateAnnotation ` -- **Config:** [diff.truncateAnnotation](/config/#diff-truncateannotation) +- **命令行终端:** `--diff.truncateAnnotation ` +- **配置:** [diff.truncateAnnotation](/config/#diff-truncateannotation) Annotation for truncated lines (default: `... Diff result is truncated`) ### exclude -- **CLI:** `--exclude ` -- **Config:** [exclude](/config/#exclude) +- **命令行终端:** `--exclude ` +- **配置:** [exclude](/config/#exclude) 测试中排除的其他文件路径匹配模式 ### expandSnapshotDiff -- **CLI:** `--expandSnapshotDiff` -- **Config:** [expandSnapshotDiff](/config/#expandsnapshotdiff) +- **命令行终端:** `--expandSnapshotDiff` +- **配置:** [expandSnapshotDiff](/config/#expandsnapshotdiff) 快照失败时显示完整差异 ### disableConsoleIntercept -- **CLI:** `--disableConsoleIntercept` -- **Config:** [disableConsoleIntercept](/config/#disableconsoleintercept) +- **命令行终端:** `--disableConsoleIntercept` +- **配置:** [disableConsoleIntercept](/config/#disableconsoleintercept) 禁用自动拦截控制台日志(默认值:`false`) ### typecheck.enabled -- **CLI:** `--typecheck.enabled` -- **Config:** [typecheck.enabled](/config/#typecheck-enabled) +- **命令行终端:** `--typecheck.enabled` +- **配置:** [typecheck.enabled](/config/#typecheck-enabled) 在测试的同时启用类型检查(默认值:`false`) ### typecheck.only -- **CLI:** `--typecheck.only` -- **Config:** [typecheck.only](/config/#typecheck-only) +- **命令行终端:** `--typecheck.only` +- **配置:** [typecheck.only](/config/#typecheck-only) 仅运行类型检查测试。这将自动启用类型检查(默认值:`false`) ### typecheck.checker -- **CLI:** `--typecheck.checker ` -- **Config:** [typecheck.checker](/config/#typecheck-checker) +- **命令行终端:** `--typecheck.checker ` +- **配置:** [typecheck.checker](/config/#typecheck-checker) 指定要使用的类型检查器。可用值为 "tsc"和 "vue-tsc "以及一个可执行文件的路径(默认值:`tsc`) ### typecheck.allowJs -- **CLI:** `--typecheck.allowJs` -- **Config:** [typecheck.allowJs](/config/#typecheck-allowjs) +- **命令行终端:** `--typecheck.allowJs` +- **配置:** [typecheck.allowJs](/config/#typecheck-allowjs) 允许对 JavaScript 文件进行类型检查。默认值取自 tsconfig.json ### typecheck.ignoreSourceErrors -- **CLI:** `--typecheck.ignoreSourceErrors` -- **Config:** [typecheck.ignoreSourceErrors](/config/#typecheck-ignoresourceerrors) +- **命令行终端:** `--typecheck.ignoreSourceErrors` +- **配置:** [typecheck.ignoreSourceErrors](/config/#typecheck-ignoresourceerrors) 忽略源文件中的类型错误 ### typecheck.tsconfig -- **CLI:** `--typecheck.tsconfig ` -- **Config:** [typecheck.tsconfig](/config/#typecheck-tsconfig) +- **命令行终端:** `--typecheck.tsconfig ` +- **配置:** [typecheck.tsconfig](/config/#typecheck-tsconfig) 自定义 tsconfig 文件的路径 ### typecheck.spawnTimeout -- **CLI:** `--typecheck.spawnTimeout