anchor.diff:    Stubbing the `ActivatedRoute` would follow the same pattern except for a complication:
     the `ActivatedRoute.params` is an _Observable_.
   
  -  现在，你已经直到如何模拟`Router`和数据服务。
  +  现在，你已经知道如何模拟`Router`和数据服务。
     模拟`ActivatedRoute`遵循类似的模式，但是有个额外枝节：`ActivatedRoute.params`是**可观察对象**。
   
   #stub-observable
  
positive.code: :marked
    But there's already plenty of template complexity.
  
    但是它已经有很多模板的复杂性。
  +makeExample('testing/ts/app/hero/hero-detail.component.html', '', 'app/hero/hero-detail.component.html')(format='.')
  :marked
    To fully exercise the component, the test needs ...
  
negative.code:     The `createComponent` method and `page` object are discussed [in the next section](#page-object).
      Rely on your intuition for now.
  
      [下一节](#page-object)将解释`createComponent`方法和`page`对象，现在暂时跟着自己的直觉走。
  :marked
    When the `id` cannot be found, the component should re-route to the `HeroListComponent`.
    The test suite setup provided the same `RouterStub` [described above](#routed-component) which spies on the router without actually navigating.
    This test supplies a "bad" id and expects the component to try to navigate.
  
    当无法找到`id`时，组件应该重新导航到`HeroListComponent`。
    该测试套件配置与[上面描述](#routed-component)的`RouterStub`一样，它在不实际导航的情况下刺探路由器。
    该测试程序提供了“坏”的id，期望组件尝试导航。
  +makeExample('testing/ts/app/hero/hero-detail.component.spec.ts', 'route-bad-id', 'app/hero/hero-detail.component.spec.ts (bad id)')(format='.')
  :marked
  