Skip to content

Commit 24a44a0

Browse files
authored
Merge pull request #599 from lxKylin/sync-25d0
docs: update content
2 parents b210c6f + 74a4956 commit 24a44a0

File tree

1 file changed

+4
-40
lines changed

1 file changed

+4
-40
lines changed

guide/mocking.md

+4-40
Original file line numberDiff line numberDiff line change
@@ -431,33 +431,20 @@ it('can return a value multiple times', () => {
431431

432432
## 请求
433433

434-
<<<<<<< HEAD
435-
因为 Vitest 运行在 Node 环境中,所以模拟网络请求是一件非常棘手的事情;由于没有办法使用 Web API,因此我们需要一些可以为我们模拟网络行为的包。推荐使用 [Mock Service Worker](https://mswjs.io/) 来进行这个操作。它可以模拟 `REST``GraphQL` 网络请求,并且与框架无关。
436-
=======
437-
Because Vitest runs in Node, mocking network requests is tricky; web APIs are not available, so we need something that will mimic network behavior for us. We recommend [Mock Service Worker](https://mswjs.io/) to accomplish this. It allows you to mock `http`, `WebSocket` and `GraphQL` network requests, and is framework agnostic.
438-
>>>>>>> 493735d031981dccdc8c1b9573d1208be51528a7
434+
因为 Vitest 运行在 Node 环境中,所以模拟网络请求是一件非常棘手的事情;由于没有办法使用 Web API,因此我们需要一些可以为我们模拟网络行为的包。推荐使用 [Mock Service Worker](https://mswjs.io/) 来进行这个操作。它可以模拟 `http``WebSocket``GraphQL` 网络请求,并且与框架无关。
439435

440436
Mock Service Worker (MSW) 的工作原理是拦截测试请求,让我们可以在不更改任何应用代码的情况下使用它。在浏览器中,它使用 [Service Worker API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) 。在 Node.js 和 Vitest 中,它使用 [`@mswjs/interceptors`](https://github.com/mswjs/interceptors) 库。要了解有关 MSW 的更多信息,请阅读他们的 [introduction](https://mswjs.io/docs/)
441437

442438
### 配置
443439

444-
您可以像下面一样在您的 [setup file](/config/#setupfiles)
445-
446-
<<<<<<< HEAD
447-
```js
448-
import { afterAll, afterEach, beforeAll } from 'vitest'
449-
import { setupServer } from 'msw/node'
450-
import { HttpResponse, graphql, http } from 'msw'
451-
=======
452-
You can use it like below in your [setup file](/config/#setupfiles)
440+
你可以像下面一样在你的 [setup file](/config/#setupfiles)
453441

454442
::: code-group
455443

456444
```js [HTTP Setup]
457445
import { afterAll, afterEach, beforeAll } from 'vitest'
458446
import { setupServer } from 'msw/node'
459447
import { http, HttpResponse } from 'msw'
460-
>>>>>>> 493735d031981dccdc8c1b9573d1208be51528a7
461448

462449
const posts = [
463450
{
@@ -475,37 +462,15 @@ export const restHandlers = [
475462
}),
476463
]
477464

478-
<<<<<<< HEAD
479-
const graphqlHandlers = [
480-
graphql.query('ListPosts', () => {
481-
return HttpResponse.json({
482-
data: { posts },
483-
})
484-
}),
485-
]
486-
487-
const server = setupServer(...restHandlers, ...graphqlHandlers)
488-
=======
489465
const server = setupServer(...restHandlers)
490-
>>>>>>> 493735d031981dccdc8c1b9573d1208be51528a7
491466

492467
// 在所有测试之前启动服务器
493468
beforeAll(() => server.listen({ onUnhandledRequest: 'error' }))
494469

495-
<<<<<<< HEAD
496-
// 所有测试后关闭服务器
470+
// 所有测试完成后关闭服务器
497471
afterAll(() => server.close())
498472

499-
// 每次测试后重置处理程序 `对测试隔离很重要`
500-
afterEach(() => server.resetHandlers())
501-
```
502-
503-
> 使用 `onUnhandleRequest: 'error'` 配置服务器可以确保即使某个请求没有相应的请求处理程序,也会抛出错误。
504-
=======
505-
// Close server after all tests
506-
afterAll(() => server.close())
507-
508-
// Reset handlers after each test for test isolation
473+
// 在每个测试后重置处理程序以实现测试隔离
509474
afterEach(() => server.resetHandlers())
510475
```
511476

@@ -575,7 +540,6 @@ afterEach(() => server.resetHandlers())
575540
:::
576541

577542
> Configuring the server with `onUnhandledRequest: 'error'` ensures that an error is thrown whenever there is a request that does not have a corresponding request handler.
578-
>>>>>>> 493735d031981dccdc8c1b9573d1208be51528a7
579543
580544
### 了解更多
581545

0 commit comments

Comments
 (0)