Skip to content

Commit 79e8b17

Browse files
committed
docs(cn): proofreading documents
1 parent da602a9 commit 79e8b17

File tree

7 files changed

+45
-45
lines changed

7 files changed

+45
-45
lines changed

advanced/api.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Node API
22

33
::: warning
4-
Vitest 暴露了实验性的私有 API。由于可能不遵循语义化版本规范(SemVer),因此可能会出现不兼容的更改,请在使用 Vitest 时锁定版本。
4+
Vitest 暴露了实验性的私有 API。由于可能不严格遵循语义化版本规范,因此可能会出现破坏性更改,在使用 Vitest 的私有 API 时锁定版本。
55
:::
66

77
## 启动 Vitest

advanced/metadata.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# 任务元数据
22

33
::: warning
4-
Vitest 导出了实验性私有 API。重大更改可能不遵循 semver,使用时请固定 Vitest 的版本
4+
Vitest 暴露了实验性的私有 API。由于可能不严格遵循语义化版本规范,因此可能会出现破坏性更改,在使用 Vitest 的私有 API 时锁定版本
55
:::
66

77
如果你正在开发自定义报告器或使用 Vitest Node.js API,你可能会发现将在各种上下文中执行的测试中的数据传递给报告器或自定义 Vitest 处理程序很有用。
88

99
要实现此目的,依靠 [测试上下文](/guide/test-context) 是不可行的,因为它无法序列化。但是,使用 Vitest 时,你可以利用每个任务(套件或测试)上可用的 `meta` 属性在测试和 Node.js 进程之间共享数据。值得注意的是,这种通信只是单向的,因为 `meta` 属性只能在测试上下文中修改。Node.js 上下文中所做的任何更改在你的测试中都将不可见。
1010

11-
你可以在测试上下文中或在套件任务的 `beforeAll`/`afterAll` 钩子中填充 `meta` 属性。
11+
你可以在测试上下文中或在测试套件的 `beforeAll`/`afterAll` 中填充 `meta` 属性。
1212

1313
```ts
1414
afterAll((suite) => {
@@ -20,16 +20,16 @@ test('custom', ({ task }) => {
2020
})
2121
```
2222

23-
一旦测试完成,Vitest 将使用 RPC 将包含结果和 `meta` 的任务发送到 Node.js 进程。要拦截和处理此任务,你可以利用报告器实现中可用的 `onTaskUpdate` 方法:
23+
一旦测试完成,Vitest 将使用 RPC 将包含结果和 `meta` 信息的任务发送到 Node.js 进程。要拦截和处理此任务,你可以利用报告器实现中可用的 `onTaskUpdate` 方法:
2424

2525
```ts
2626
// custom-reporter.js
2727
export default {
28-
// you can intercept packs if needed
28+
// 如有需要,您可以拦截此任务并修改它
2929
onTaskUpdate(packs) {
3030
const [id, result, meta] = packs[0]
3131
},
32-
// meta is located on every task inside "onFinished"
32+
// meta 位于 `onFinished` 内的每个任务上
3333
onFinished(files) {
3434
files[0].meta.done === true
3535
files[0].tasks[0].meta.custom === 'some-custom-handler'
@@ -38,15 +38,15 @@ export default {
3838
```
3939

4040
::: warning
41-
如果短时间内完成多个测试,Vitest 可以同时发送多个任务。
41+
如果需要在短时间内完成多个测试,Vitest 可以同时发送多个任务。
4242
:::
4343

4444
::: danger BEWARE
4545
Vitest 使用不同的方法与 Node.js 进程进行通信。
4646

4747
- 如果 Vitest 在工作线程内运行测试,它将通过[消息端口](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort)发送数据
48-
- 如果 Vitest 使用子进程,数据将通过 [`process.send`](https://nodejs.org/api/process.html#processsendmessage-sendhandle-options-callback) API 作为序列化缓冲区发送
49-
- 如果 Vitest 在浏览器中运行测试,数据将使用 [flatted](https://www.npmjs.com/package/flatted) 包进行字符串化
48+
- 如果 Vitest 使用子进程,数据将通过 [`process.send`](https://nodejs.org/api/process.html#processsendmessage-sendhandle-options-callback) 作为序列化缓冲区发送
49+
- 如果 Vitest 在浏览器中运行测试,数据将使用 [flatted](https://www.npmjs.com/package/flatted) 进行字符串化
5050

5151
一般经验法则是,你几乎可以发送任何内容,除了函数、Promises、regexp(`v8.stringify` 无法序列化它,但你可以发送字符串版本并自己在 Node.js 进程中解析它),以及其他不可序列化的数据,但内部可以有循环引用。
5252

advanced/pool.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Vitest 在默认情况下以多种方式运行测试:
1212
- `browser` 使用浏览器提供程序运行测试
1313
- `typescript` 在测试中运行类型检查
1414

15-
你可以通过指定文件路径来提供自己的池
15+
你可以通过指定文件路径来提供自己的「 池 / pool 」
1616

1717
```ts
1818
export default defineConfig({
@@ -50,13 +50,13 @@ export interface ProcessPool {
5050

5151
这个函数只会被调用一次(除非服务器配置被更新),通常最好在这个函数内初始化测试所需的一切,并在调用 `runTests` 时重复使用它。
5252

53-
Vitest 在安排运行新测试时调用 `runTest`。如果 `files` 为空,将不会调用它。第一个参数是一个元组数组:第一个元素是对工作区项目的引用,第二个元素是测试文件的绝对路径。在调用 `runTests` 之前,文件将使用 [`sequencer`](/config/#sequence.sequencer) 进行排序。可能(但不太可能)会有相同的文件出现两次,但它们将始终属于不同的项目 - 这是通过 [`vitest.workspace.ts`](/guide/workspace) 配置实现的。
53+
Vitest 在安排运行新测试时调用 `runTest`。如果 `files` 为空,将不会调用它。第一个参数是一个 tuples 数组:第一个元素是对工作区项目的引用,第二个元素是测试文件的绝对路径。在调用 `runTests` 之前,文件将使用 [`sequencer`](/config/#sequence.sequencer) 进行排序。可能(但不太可能)会有相同的文件出现两次,但它们将始终属于不同的项目 - 这是通过 [`vitest.workspace.ts`](/guide/workspace) 配置实现的。
5454

5555
Vitest 会等到 `runTests` 执行完毕后才结束运行(即只有在 `runTests` 解决后才会触发 [`onFinished`](/guide/reporters))。
5656

57-
如果你正在使用自定义池,需要自行提供测试文件及其结果 - 可以参考 [`vitest.state`](https://github.com/vitest-dev/vitest/blob/main/packages/vitest/src/node/state.ts)(最重要的是 `collectFiles``updateTasks`)。Vitest 使用 `@vitest/runner` 包中的 `startTests` 函数来执行这些操作。
57+
如果你正在使用自定义 pool ,需要自行提供测试文件及其结果 - 可以参考 [`vitest.state`](https://github.com/vitest-dev/vitest/blob/main/packages/vitest/src/node/state.ts)(最重要的是 `collectFiles``updateTasks`)。Vitest 使用 `@vitest/runner` 包中的 `startTests` 函数来执行这些操作。
5858

59-
要在不同进程之间进行通信,可以使用 `vitest/node` 中的 `createMethodsRPC` 创建方法对象,并使用你喜欢的任何通信形式。例如,要使用 `birpc` 的 websockets,可以编写类似以下的内容:
59+
要在不同进程之间进行通信,可以使用 `vitest/node` 中的 `createMethodsRPC` 创建方法对象,或使用你喜欢的任何通信形式。例如,要使用 `birpc` 的 websockets,可以编写类似以下的内容:
6060

6161
```ts
6262
import { createBirpc } from 'birpc'

advanced/runner.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ Vitest 还会将 `ViteNodeRunner` 的实例作为 `__vitest_executor` 属性注
115115

116116
## 你的任务函数
117117

118-
你可以通过扩展 `Vitest` 的任务系统来添加你自己的任务。一个任务是一个对象,是套件的一部分。它会自动通过 `suite.task` 方法添加到当前套件中
118+
你可以通过扩展 `Vitest` 的任务系统来添加你自己的任务。一个任务是一个对象,是测试套件的一部分。它会自动通过 `suite.task` 方法添加到当前测试套件中
119119

120120
```js
121121
// ./utils/custom.js

api/assert-type.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# assertType
22

3-
- **类型:** `<T>(value: T): void`
4-
5-
你可以使用此函数作为 [`expectTypeOf`](/api/expect-typeof) 的替代方法,以轻松地断言参数类型等于提供的泛型。
6-
73
::: warning
8-
在运行时,此函数不执行任何操作。要 [enable typechecking](/guide/testing-types#run-typechecking)不要忘记传递 `--typecheck` 标志
4+
运行时,此函数不会执行任何操作。要 [「 启用类型检查 / enable typechecking](/guide/testing-types#run-typechecking)不要忘了传递 `--typecheck`
95
:::
106

7+
- **类型:** `<T>(value: T): void`
8+
9+
你可以使用此函数作为 [`expectTypeOf`](/api/expect-typeof) 的替代方法,可以轻松地断言参数类型等于提供的泛型。
10+
1111
```ts
1212
import { assertType } from 'vitest'
1313

api/expect-typeof.md

+20-20
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# expectTypeOf
22

3-
- **类型:** `<T>(a: unknown) => ExpectTypeOf`
4-
5-
::: warning
6-
在运行时,此函数不执行任何操作。要 [enable typechecking](/guide/testing-types#run-typechecking),不要忘记传递 `--typecheck` 标志。
3+
::: warning 注意
4+
运行时,此函数不会执行任何操作。要 [「 启用类型检查 / enable typechecking 」](/guide/testing-types#run-typechecking),不要忘了传递 `--typecheck`
75
:::
86

7+
- **类型:** `<T>(a: unknown) => ExpectTypeOf`
8+
99
## not
1010

1111
- **类型:** `ExpectTypeOf`
@@ -76,8 +76,8 @@ expectTypeOf(getResponsiveProp(cssProperties))
7676
.toEqualTypeOf<CSSProperties[]>()
7777
```
7878

79-
::: warning
80-
如果在联合类型中找不到类型`.extract` 将返回 `never`
79+
::: warning 注意
80+
如果在 union 中找不到类型`.extract` 将返回 `never`
8181
:::
8282

8383
## exclude
@@ -106,8 +106,8 @@ expectTypeOf(getResponsiveProp(cssProperties))
106106

107107
```
108108

109-
::: warning
110-
如果在联合类型中找不到类型`.extract` 将返回 `never`
109+
::: warning 注意
110+
如果在 union 中找不到类型`.extract` 将返回 `never`
111111
:::
112112

113113
## returns
@@ -123,7 +123,7 @@ expectTypeOf(() => {}).returns.toBeVoid()
123123
expectTypeOf((a: number) => [a, a]).returns.toEqualTypeOf([1, 2])
124124
```
125125

126-
::: warning
126+
::: warning 注意
127127
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
128128
:::
129129

@@ -143,11 +143,11 @@ expectTypeOf<NoParam>().parameters.toEqualTypeOf<[]>()
143143
expectTypeOf<HasParam>().parameters.toEqualTypeOf<[string]>()
144144
```
145145

146-
::: warning
146+
::: warning 注意
147147
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
148148
:::
149149

150-
::: tip
150+
::: tip 提示
151151
你还可以使用 [`.toBeCallableWith`](#tobecallablewith) 匹配器作为更具表现力的断言。
152152
:::
153153

@@ -168,7 +168,7 @@ expectTypeOf(foo).parameter(0).toBeNumber()
168168
expectTypeOf(foo).parameter(1).toBeString()
169169
```
170170

171-
::: warning
171+
::: warning 注意
172172
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
173173
:::
174174

@@ -186,11 +186,11 @@ expectTypeOf(Date).constructorParameters.toEqualTypeOf<
186186
>()
187187
```
188188

189-
::: warning
189+
::: warning 注意
190190
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
191191
:::
192192

193-
::: tip
193+
::: tip 提示
194194
你还可以使用 [`.toBeConstructibleWith`](#tobeconstructiblewith) 匹配器作为更具表现力的断言。
195195
:::
196196

@@ -206,7 +206,7 @@ import { expectTypeOf } from 'vitest'
206206
expectTypeOf(Date).instance.toHaveProperty('toISOString')
207207
```
208208

209-
::: warning
209+
::: warning 注意
210210
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
211211
:::
212212

@@ -240,7 +240,7 @@ expectTypeOf(asyncFunc).returns.resolves.toBeNumber()
240240
expectTypeOf(Promise.resolve('string')).resolves.toBeString()
241241
```
242242

243-
::: warning
243+
::: warning 注意
244244
如果用于非承诺类型,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
245245
:::
246246

@@ -260,7 +260,7 @@ function isString(v: any): v is string {
260260
expectTypeOf(isString).guards.toBeString()
261261
```
262262

263-
::: warning
263+
::: warning 注意
264264
如果该值不是保护函数,则返回 `never`,因此你将无法将它与其他匹配器链接起来。
265265
:::
266266

@@ -281,7 +281,7 @@ function assertNumber(v: any): asserts v is number {
281281
expectTypeOf(assertNumber).asserts.toBeNumber()
282282
```
283283

284-
::: warning
284+
::: warning 注意
285285
如果该值不是断言函数,则返回 `never`,因此你将无法将它与其他匹配器链接起来。
286286
:::
287287

@@ -479,7 +479,7 @@ expectTypeOf<NoParam>().toBeCallableWith()
479479
expectTypeOf<HasParam>().toBeCallableWith('some string')
480480
```
481481

482-
::: warning
482+
::: warning 注意
483483
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
484484
:::
485485

@@ -496,7 +496,7 @@ expectTypeOf(Date).toBeConstructibleWith(new Date())
496496
expectTypeOf(Date).toBeConstructibleWith('01-01-2000')
497497
```
498498

499-
::: warning
499+
::: warning 注意
500500
如果用在非函数类型上,它将返回 `never`,因此你将无法将它与其他匹配器链接起来。
501501
:::
502502

api/expect.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ expect(input).toBe(2); // jest API
2323

2424
此外,`expect` 可以静态地使用来访问匹配器函数,稍后将会介绍。
2525

26-
::: warning
26+
::: warning 注意
2727
如果表达式没有类型错误,则 `expect` 对测试类型没有影响。 如果你想使用 Vitest 作为[类型检查器](/guide/testing-types),请使用 [`expectTypeOf`](/api/expect-typeof)[`assertType`](/api/assert-type)
2828
:::
2929

@@ -55,7 +55,7 @@ test("expect.soft test", () => {
5555
});
5656
```
5757

58-
::: warning
58+
::: warning 注意
5959
`expect.soft` 只能在 [`test`](/api/#test) 函数的内部使用。
6060
:::
6161

@@ -541,7 +541,7 @@ test("top fruits", () => {
541541
});
542542
```
543543

544-
::: tip
544+
::: tip 提示
545545
如果错误消息中的值被截断得太厉害,可以在配置文件中增加 [chaiConfig.truncateThreshold](/config/#chaiconfig-truncatethreshold)
546546
:::
547547

@@ -1088,7 +1088,7 @@ test("all assertions are called", async () => {
10881088
});
10891089
```
10901090

1091-
::: warning
1091+
::: warning 注意
10921092
在使用异步并发测试时,必须使用本地 [Test Context](/guide/test-context.md) 中的 `expect` 来确保正确的测试被检测到。
10931093
:::
10941094

@@ -1365,7 +1365,7 @@ test("custom matchers", () => {
13651365
});
13661366
```
13671367

1368-
::: tip
1368+
::: tip 提示
13691369
如果希望匹配器出现在每个测试中,应该在 [`setupFiles`](/config/#setupFiles) 中调用此方法。
13701370
:::
13711371

@@ -1384,7 +1384,7 @@ declare module "vitest" {
13841384
}
13851385
```
13861386

1387-
::: warning
1387+
::: warning 注意
13881388
不要忘记在 `tsconfig.json` 中包含环境声明文件。
13891389
:::
13901390

0 commit comments

Comments
 (0)