Skip to content

Commit 261d08b

Browse files
Jinjiangeddyerburgh
authored andcommitted
docs(zh-cn): synced updates (#512)
1 parent 8fee45a commit 261d08b

File tree

8 files changed

+123
-13
lines changed

8 files changed

+123
-13
lines changed

docs/zh-cn/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Vue Test Utils 是 Vue.js 官方的单元测试实用工具库。
1818
* [API](api/README.md)
1919
* [mount](api/mount.md)
2020
* [shallow](api/shallow.md)
21+
* [render](api/render.md)
2122
* [renderToString](api/renderToString.md)
2223
* [挂载选项](api/options.md)
2324
- [context](api/options.md#context)
@@ -29,6 +30,7 @@ Vue Test Utils 是 Vue.js 官方的单元测试实用工具库。
2930
- [attrs](api/options.md#attrs)
3031
- [listeners](api/options.md#listeners)
3132
- [provide](api/options.md#provide)
33+
- [sync](api/options.md#sync)
3234
- [其它选项](api/options.md#other-options)
3335
* [Wrapper](api/wrapper/README.md)
3436
* [attributes](api/wrapper/attributes.md)

docs/zh-cn/SUMMARY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* [API](api/README.md)
1515
* [mount](api/mount.md)
1616
* [shallow](api/shallow.md)
17+
* [render](api/render.md)
1718
* [renderToString](api/renderToString.md)
1819
* [挂载选项](api/options.md)
1920
- [context](api/options.md#context)
@@ -25,6 +26,7 @@
2526
- [attrs](api/options.md#attrs)
2627
- [listeners](api/options.md#listeners)
2728
- [provide](api/options.md#provide)
29+
- [sync](api/options.md#sync)
2830
- [其它选项](api/options.md#other-options)
2931
* [Wrapper](api/wrapper/README.md)
3032
* [attributes](api/wrapper/attributes.md)

docs/zh-cn/api/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
* [mount](./mount.md)
44
* [shallow](./shallow.md)
5+
* [render](./render.md)
56
* [renderToString](./renderToString.md)
67
* [挂载选项](./options.md)
78
- [context](./options.md#context)
@@ -13,6 +14,7 @@
1314
- [attrs](./options.md#attrs)
1415
- [listeners](./options.md#listeners)
1516
- [provide](./options.md#provide)
17+
- [sync](./options.md#sync)
1618
- [其它选项](./options.md#other-options)
1719
* [Wrapper](./wrapper/README.md)
1820
* [attributes](./wrapper/attributes.md)

docs/zh-cn/api/options.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ expect(wrapper.vm.$route).toBeInstanceOf(Object)
174174

175175
将所有的侦听器都设置为同步执行。
176176

177+
`sync``true` 时,这个 Vue 组件会被同步渲染。
178+
`sync``false` 时,这个 Vue 组件会被异步渲染。
179+
177180
## 其它选项
178181

179182
`mount``shallow` 的选项包含了挂载选项之外的选项时,则会将它们通过[扩展](https://vuejs.org/v2/api/#extends)覆写到其组件选项。

docs/zh-cn/api/render.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# `render(component {, options}])`
2+
3+
- **参数:**
4+
5+
- `{Component} component`
6+
- `{Object} options`
7+
- `{Object} context`
8+
- `{Array<Component|Object>|Component} children`
9+
- `{Object} slots`
10+
- `{Array<Componet|Object>|Component|String} default`
11+
- `{Array<Componet|Object>|Component|String} named`
12+
- `{Object} mocks`
13+
- `{Object|Array<string>} stubs`
14+
- `{Vue} localVue`
15+
16+
- **返回值:** `{CheerioWrapper}`
17+
18+
- **选项:**
19+
20+
查阅[挂载选项](./options.md)
21+
22+
- **使用:**
23+
24+
将一个对象渲染成为一个字符串并返回一个 [cheerio 包裹器](https://github.com/cheeriojs/cheerio)
25+
26+
Cheerio 是一个类似 jQuery 的库,可以在 Node.js 中游览 DOM 对象。它的 API 和 Vue Test Utils 的 [`Wrapper`](wrapper/README.md) 类似。
27+
28+
`render` 在底层使用 [`vue-server-renderer`](https://ssr.vuejs.org/zh/basic.html) 将一个组件渲染为静态的 HTML。
29+
30+
`render` 被包含在了 `@vue/server-test-utils` 包之中。
31+
32+
**不带选项:**
33+
34+
```js
35+
import { render } from '@vue/server-test-utils'
36+
import Foo from './Foo.vue'
37+
38+
describe('Foo', () => {
39+
it('renders a div', () => {
40+
const wrapper = render(Foo)
41+
expect(wrapper.text()).toContain('<div></div>')
42+
})
43+
})
44+
```
45+
46+
**带 Vue 选项:**
47+
48+
```js
49+
import { render } from '@vue/server-test-utils'
50+
import Foo from './Foo.vue'
51+
52+
describe('Foo', () => {
53+
it('renders a div', () => {
54+
const wrapper = render(Foo, {
55+
propsData: {
56+
color: 'red'
57+
}
58+
})
59+
expect(wrapper.text()).toContain('red')
60+
})
61+
})
62+
```
63+
64+
**默认插槽和具名插槽:**
65+
66+
```js
67+
import { render } from '@vue/server-test-utils'
68+
import Foo from './Foo.vue'
69+
import Bar from './Bar.vue'
70+
import FooBar from './FooBar.vue'
71+
72+
describe('Foo', () => {
73+
it('renders a div', () => {
74+
const wrapper = render(Foo, {
75+
slots: {
76+
default: [Bar, FooBar],
77+
fooBar: FooBar, // Will match <slot name="FooBar" />,
78+
foo: '<div />'
79+
}
80+
})
81+
expect(wrapper.text()).toContain('<div></div>')
82+
})
83+
})
84+
```
85+
86+
**全局属性存根:**
87+
88+
```js
89+
import { render } from '@vue/server-test-utils'
90+
import Foo from './Foo.vue'
91+
92+
describe('Foo', () => {
93+
it('renders a div', () => {
94+
const $route = { path: 'http://www.example-path.com' }
95+
const wrapper = render(Foo, {
96+
mocks: {
97+
$route
98+
}
99+
})
100+
expect(wrapper.text()).toContain($route.path)
101+
})
102+
})
103+
```

docs/zh-cn/api/renderToString.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323

2424
将一个组件渲染为 HTML。
2525

26-
`renderToString` 在底层使用了 [`vue-server-renderer`](https://ssr.vuejs.org/en/basic.html) 来将一个组件渲染为 HTML。
26+
`renderToString` 在底层使用 [`vue-server-renderer`](https://ssr.vuejs.org/en/basic.html) 将一个组件渲染为 HTML。
2727

2828
**不带选项:**
2929

3030
```js
31-
import { renderToString } from '@vue/test-utils'
31+
import { renderToString } from '@vue/server-test-utils'
3232
import Foo from './Foo.vue'
3333

3434
describe('Foo', () => {
@@ -42,7 +42,7 @@ describe('Foo', () => {
4242
**带 Vue 选项:**
4343

4444
```js
45-
import { renderToString } from '@vue/test-utils'
45+
import { renderToString } from '@vue/server-test-utils'
4646
import Foo from './Foo.vue'
4747

4848
describe('Foo', () => {
@@ -60,7 +60,7 @@ describe('Foo', () => {
6060
**默认插槽和具名插槽:**
6161

6262
```js
63-
import { renderToString } from '@vue/test-utils'
63+
import { renderToString } from '@vue/server-test-utils'
6464
import Foo from './Foo.vue'
6565
import Bar from './Bar.vue'
6666
import FooBar from './FooBar.vue'
@@ -82,7 +82,7 @@ describe('Foo', () => {
8282
**全局属性存根:**
8383

8484
```js
85-
import { renderToString } from '@vue/test-utils'
85+
import { renderToString } from '@vue/server-test-utils'
8686
import Foo from './Foo.vue'
8787

8888
describe('Foo', () => {

docs/zh-cn/guides/testing-SFCs-with-jest.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,12 @@ npm install --save-dev vue-jest
4848
"transform": {
4949
// 用 `vue-jest` 处理 `*.vue` 文件
5050
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
51-
},
52-
"mapCoverage": true
51+
}
5352
}
5453
}
5554
```
5655

57-
> **注意:**`vue-jest` 目前并不支持 `vue-loader` 所有的功能,比如自定义块和样式加载。额外的,诸如代码分隔等 webpack 特有的功能也是不支持的。如果要使用它们,请阅读教程里的[用 Mocha + webpack 测试单文件组件](./testing-SFCs-with-mocha-webpack.md)
56+
> **注意:**`vue-jest` 目前并不支持 `vue-loader` 所有的功能,比如自定义块和样式加载。额外的,诸如代码分隔等 webpack 特有的功能也是不支持的。如果要使用这些不支持的特性,你需要用 Mocha 取代 Jest 来运行你的测试,同时用 webpack 来编译你的组件。想知道如何起步,请阅读教程里的[用 Mocha + webpack 测试单文件组件](./testing-SFCs-with-mocha-webpack.md)
5857
5958
## 处理 webpack 别名
6059

@@ -158,7 +157,7 @@ Jest 推荐你在被测试代码的所在目录下创建一个 `__tests__` 目
158157

159158
Jest 可以被用来生成多种格式的测试覆盖率报告。以下是一个简单的起步的例子:
160159

161-
扩展你的 `jest` 配置 (通常在 `package.json``jest.config.js` 中) 的 [`collectCoverage`](https://facebook.github.io/jest/docs/en/configuration.html#collectcoverage-boolean) 选项,然后添加 [`collectCoverageFrom`](https://facebook.github.io/jest/docs/en/configuration.html#collectcoveragefrom-array) 数组来定义需要收集测试覆盖率信息的文件。你还需要设置 [`mapCoverage`](https://facebook.github.io/jest/docs/en/configuration.html#mapcoverage-boolean)`true`,以确保测试覆盖率数据的精准。
160+
扩展你的 `jest` 配置 (通常在 `package.json``jest.config.js` 中) 的 [`collectCoverage`](https://facebook.github.io/jest/docs/en/configuration.html#collectcoverage-boolean) 选项,然后添加 [`collectCoverageFrom`](https://facebook.github.io/jest/docs/en/configuration.html#collectcoveragefrom-array) 数组来定义需要收集测试覆盖率信息的文件。
162161

163162
```json
164163
{
@@ -168,8 +167,7 @@ Jest 可以被用来生成多种格式的测试覆盖率报告。以下是一个
168167
"collectCoverageFrom": [
169168
"**/*.{js,vue}",
170169
"!**/node_modules/**"
171-
],
172-
"mapCoverage": true
170+
]
173171
}
174172
}
175173
```

docs/zh-cn/guides/using-with-vuex.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ describe('Modules.vue', () => {
265265

266266
这里有两个测试 Vuex store 的方式。第一个方式是分别单元化测试 getter、mutation 和 action。第二个方式是创建一个 store 并针对其进行测试。我们接下来看看这两种方式如何。
267267

268-
为了弄清楚如果测试一个 Vuex store,我们会创建一个简单的计数器 store。该 store 会有一个 `increment` mutation 和一个 `counter` getter。
268+
为了弄清楚如果测试一个 Vuex store,我们会创建一个简单的计数器 store。该 store 会有一个 `increment` mutation 和一个 `evenOrOdd` getter。
269269

270270
```js
271271
// mutations.js
@@ -322,7 +322,7 @@ test('evenOrOdd returns even if state.count is even', () => {
322322
expect(getters.evenOrOdd(state)).toBe('even')
323323
})
324324

325-
test('evenOrOdd returns odd if state.count is even', () => {
325+
test('evenOrOdd returns odd if state.count is odd', () => {
326326
const state = {
327327
count: 1
328328
}

0 commit comments

Comments
 (0)