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:   There are no distractions: no waiting for promises to resolve and no searching the DOM for element values to compare.
    Here are a few more `HeroDetailComponent` tests to drive the point home.
  
    上一节的[可观察对象测试](#observable-tests)展示了`createComponent`和`page`如何让测试程序简短和即时的。
    没有任何干扰：无需等待承诺的解析，也没有搜索DOM元素值进行比较。
    这里是一些更多的`HeroDetailComponent`测试程序来进一步展示这一点。
  +makeExample('testing/ts/app/hero/hero-detail.component.spec.ts', 'selected-tests', 'app/hero/hero-detail.component.spec.ts (selected tests)')(format='.')
  
  a(href="#top").to-top Back to top
  
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
  