translate: testing line 1027

This commit is contained in:
rexebin 2016-09-22 22:04:56 +01:00
parent 32462a5af4
commit 8178d1abde
1 changed files with 19 additions and 2 deletions

View File

@ -975,25 +975,36 @@ a#injected-service-reference
:marked :marked
The [inject](#inject) function is another way to inject one or more services into a test. The [inject](#inject) function is another way to inject one or more services into a test.
[inject](#inject)函数方法是另外一种注入一个或多个服务到测试的方法。
:marked :marked
That happens to work for testing the `WelcomeComponent` because the `UserService` instance from the `TestBed` That happens to work for testing the `WelcomeComponent` because the `UserService` instance from the `TestBed`
is the same as the `UserService` instance injected into the component. is the same as the `UserService` instance injected into the component.
这样来测试`WelcomeComponent`正好行得通,因为从`TestBed`来的`UserService`正好和注入到组件中的`UserService`实例是同一个。
That won't always be the case. That won't always be the case.
Be absolutely sure to reference the service instance that the component is _actually receiving_, Be absolutely sure to reference the service instance that the component is _actually receiving_,
Call `get` on the component's injector which is `fixture.debugElement.injector`: Call `get` on the component's injector which is `fixture.debugElement.injector`:
但是,并不总是会这样。
确认总是引用组件**实际收到**的服务实例,调用组件的注入器(也就是`fixture.debugElement.injector`)的`get`方法:
+makeExample('testing/ts/app/welcome.component.spec.ts', 'injected-service', 'Component\'s injector')(format='.') +makeExample('testing/ts/app/welcome.component.spec.ts', 'injected-service', 'Component\'s injector')(format='.')
.alert.is-important .alert.is-important
:marked :marked
Use the component's own injector to get the component's injected service. Use the component's own injector to get the component's injected service.
使用组件自己的注入器来获取注入进来的服务。
a#welcome-spec-setup a#welcome-spec-setup
:marked :marked
Here's the complete, preferred `beforeEach`: Here's the complete, preferred `beforeEach`:
这里是完整的,首选的`beforeEach`
+makeExample('testing/ts/app/welcome.component.spec.ts', 'setup', 'app/welcome.component.spec.ts')(format='.') +makeExample('testing/ts/app/welcome.component.spec.ts', 'setup', 'app/welcome.component.spec.ts')(format='.')
:marked :marked
And here are some tests: 下面是一些测试:
+makeExample('testing/ts/app/welcome.component.spec.ts', 'tests', 'app/welcome.component.spec.ts')(format='.') +makeExample('testing/ts/app/welcome.component.spec.ts', 'tests', 'app/welcome.component.spec.ts')(format='.')
:marked :marked
The first is a sanity test; it confirms that the fake `UserService` is working. The first is a sanity test; it confirms that the fake `UserService` is working.
@ -1001,7 +1012,13 @@ a#welcome-spec-setup
The second test validates the effect of changing the user name. The second test validates the effect of changing the user name.
The third test checks that the component displays the proper message when there is no logged-in user. The third test checks that the component displays the proper message when there is no logged-in user.
第一个测试是合法测试,它确认`UserService`是否处于工作状态。
接下来的测试确认当服务返回不同的值时组件的逻辑是否工作正常。
第二个测试验证变换用户名字的效果。
第三个测试检查如果用户没有登录,组件是否显示正确消息。
a(href="#top").to-top Back to top a(href="#top").to-top Back to top
a(href="#top").to-top 回到顶部
.l-hr .l-hr