anchor.diff:    Now we setup the testing module with the test stubs for the `Router` and `HeroService` and 
     create a test instance of the `DashbaordComponent` for subsequent testing.
   
  -  现在我们来利用`Router`和`HeroService`的模拟类来配置测试模块，并为接下来的测试创建一个`DashbaordComponent`的测试实例。
  +  现在我们来利用`Router`和`HeroService`的测试stub类来配置测试模块，并为接下来的测试创建一个`DashbaordComponent`的测试实例。
   +makeExample('testing/ts/app/dashboard/dashboard.component.spec.ts', 'compile-and-create-body', 'app/dashboard/dashboard.component.spec.ts (compile and create)')(format='.')
   :marked
     The following test clicks the displayed hero and confirms (with the help of a spy) that `Router.navigateByUrl` is called with the expected url.
  
positive.code: :marked
    Notable features of this stub:
  
    这个类有下列值得注意的特征：
  
    * The stub implements only two of the `ActivatedRoute` capabilities: `params` and `snapshot.params`.
  
    * 它只实现`ActivatedRoute`的两个功能：`params`和`snapshot.params`。
  
    * <a href="https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/subjects/behaviorsubject.md" target="_blank">_BehaviorSubject_</a> 
    drives the stub's `params` _Observable_ and returns the same value to every `params` subscriber until it's given a new value.
  
    * <a href="https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/subjects/behaviorsubject.md" target="_blank">_BehaviorSubject_</a>
    驱使它的`params`可观察对象，并为每个`params`的订阅者返回同样的值，直到它接受到新值。  
  
    * The `HeroDetailComponent` chain its expressions to this stub `params` _Observable_ which is now under the tester's control.
  
    * `HeroDetailComponent`链接它的表达式到它的`params`可观察对象，该对象现在被测试者所控制。
  
    * Setting the `testParams` property causes the `subject` to push the assigned value into `params`.
     That triggers the `HeroDetailComponent` _params_ subscription, described above, in the same way that navigation does.
  
negative.code: 
    The tests need access to the (stub) `UserService` injected into the `WelcomeComponent`.
  
    测试需要访问被注入到`WelcomeComponent`中的的`UserService`（stub类）。
  
    Angular has a hierarchical injection system.
    There can be injectors at multiple levels, from the root injector created by the `TestBed`
  