anchor.diff:    A few of the `TestBed` instance methods are not covered by static `TestBed` _class_ methods.
     These are rarely needed.
   
  +  少数`TestBed`实例方法没有对应的静态方法。它们很少被使用。
  +
   #component-fixture-api-summary
   :marked
     ## The _ComponentFixture_
  +
  +  ## _ComponentFixture_
   
     The `TestBed.createComponent<T>`
     creates an instance of the component `T` 
     and returns a strongly typed `ComponentFixture` for that component.
   
  +  `TestBed.createComponent<T>`创建一个组件`T`的实例，并为该组件返回一个强类型的`ComponentFixture`。
  +
     The `ComponentFixture` properties and methods provide access to the component, 
     its DOM representation, and aspects of its Angular environment. 
   
  +  `ComponentFixture`的属性和方法提供了对组件、它的DOM和它的Angular环境方面的访问。
  +
   #component-fixture-properties
   :marked
     ### _ComponentFixture_ properties
   
  +  ### _ComponentFixture_ 属性
  +
     Here are the most important properties for testers, in order of likely utility.
  +
  +  下面是对测试最重要的属性，以使用频率排序：
     
   table
     tr
  -    th Properties
  -    th Description
  +    th 
  +      :marked
  +        Properties
  +
  +        属性
  +    th 
  +      :marked
  +        Description
  +
  +        描述
     tr
       td(style="vertical-align: top") <code>componentInstance</code>
       td
         :marked
           The instance of the component class created by `TestBed.createComponent`.
  +
  +        被`TestBed.createComponent`创建的组件类实例。
     tr
       td(style="vertical-align: top") <code>debugElement</code>
       td
         :marked
           The `DebugElement` associated with the root element of the component.
  +
  +        与组件根元素关联的`DebugElement`。
   
           The `debugElement` provides insight into the component and its DOM element during test and debugging.
           It's a critical property for testers. The most interesting members are covered [below](#debug-element-details).
  +
  +        `debugElement`在测试和调试期间，提供对组件及其DOM元素的访问。
  +        它是测试者至关重要的属性。它最有用的成员在[下面](#debug-element-details)有所介绍。
     tr
       td(style="vertical-align: top") <code>nativeElement</code>
       td
         :marked
           The native DOM element at the root of the component.
  +
  +        组件的原生根DOM元素。
     tr
       td(style="vertical-align: top") <code>changeDetectorRef</code>
       td
         :marked
           The `ChangeDetectorRef` for the component.
  +
  +        组件的`ChangeDetectorRef`。
   
           The `ChangeDetectorRef` is most valuable when testing a
           component that has the `ChangeDetectionStrategy.OnPush`
           or the component's change detection is under your programmatic control.
   
  +        在测试一个拥有`ChangeDetectionStrategy.OnPush`的组件，或者在组件的变化测试在你的程序控制下时，`ChangeDetectorRef`是最重要的。
  +
   #component-fixture-methods
   :marked
     ### _ComponentFixture_ methods
  +
  +  ### _ComponentFixture_方法
   
     The _fixture_ methods cause Angular to perform certain tasks to the component tree.
     Call these method to trigger Angular behavior in response to simulated user action.
   
  +  **fixture**方法使组件对组件树执行某些任务。
  +  调用此方法来触发针对模拟的用户行为作出的Angular行为。
  +
     Here are the most useful methods for testers.
  +
  +  下面使对测试最有用的方法。
   table
     tr
  -    th Methods
  -    th Description
  +    th 
  +      :marked
  +        Methods
  +
  +        方法
  +    th 
  +      :marked
  +        Description
  +
  +        描述
     tr
       td(style="vertical-align: top") <code>detectChanges</code>
       td
         :marked
           Trigger a change detection cycle for the component.
  +
  +        为组件触发一轮变化检查。
   
           Call it to initialize the component (it calls `ngOnInit`) and after your 
           test code change the component's data bound property values.
           Angular can't see that you've changed `personComponent.name` and won't update the `name`
           binding until you call `detectChanges`.
   
  +        调用它来初始化组件（它调用`ngOnInit`）。或者在你的测试代码改变了组件的数据绑定属性值后调用它。
  +        Angular不能检测到你已经改变了`personComponent.name`属性，也不会更新`name`的绑定，直到你调用了`detectChanges`。
  +
           Runs `checkNoChanges`afterwards to confirm there are no circular updates unless
           called as `detectChanges(false)`;
  +
  +        之后，运行`checkNoChanges`，来确认没有循环更新，除非它被这样调用：`detectChanges(false)`。
     tr
       td(style="vertical-align: top") <code>autoDetectChanges</code>
       td
         :marked
           Set whether the fixture should try to detect changes automatically.
  +
  +        设置fixture是否应该自动试图检测变化。
   
           When autodetect is true, the test fixture listens for _zone_ events and calls `detectChanges`. 
           You probably still have to call `fixture.detectChanges` to trigger data binding updates 
           when your test code modifies component property values directly.
   
  +        当自动检测打开时，测试fixture监听**zone**事件，并调用`detectChanges`。
  +        当你的测试代码直接修改了组件属性值时，你还是要调用`fixture.detectChanges`来触发数据绑定更新。
  +
           The default is `false` and testers who prefer fine control over test behavior
           tend to keep it `false`. 
   
  +        默认值是`false`，喜欢对测试行为进行精细控制的测试者一般保持它为`false`。
  +
           Calls `detectChanges` immediately which detects existing changes
           and will trigger `ngOnInit` if the component has not yet been initialized.
  +
  +        如果组件还没有被初始化，立刻调用`detectChanges`将检测已有变化并触发`ngOnInit`。
     tr
       td(style="vertical-align: top") <code>checkNoChanges</code>
       td
         :marked
           Do a change detection run to make sure there are no pending changes.
           Throws an exceptions if there are.
  +
  +        运行一次变化检测来确认没有待处理的变化。如果有未处理的变化，它将抛出一个错误。
     tr
       td(style="vertical-align: top") <code>isStable</code>
       td
         :marked
           Return `true` if the fixture is currently _stable_.
           Returns `false` if there are async tasks that have not completed.
  +
  +        如果fixture当前是**稳定的**，则返回`true`。
  +        如果有异步任务没有完成，则返回`false`。
     tr
       td(style="vertical-align: top") <code>whenStable</code>
       td
         :marked
           Returns a promise that resolves when the fixture is stable.
  +
  +        返回一个承诺，在fixture稳定时解析。
           
           Hook that promise to resume testing after completion of asynchronous activity or 
           asynchronous change detection.
           See [above](#when-stable)
  +
  +        勾住这个承诺，以在异步行为或者异步变化检测之后继续测试。
  +        参见[上面](#when-stable)
     tr
       td(style="vertical-align: top") <code>destroy</code>
       td
         :marked
           Trigger component destruction.
   
  +        触发组件的销毁。
  +
   #debug-element-details
   :marked
     ### _DebugElement_
   
  +  ### _DebugElement_
  +
     The `DebugElement` provides crucial insights into the component's DOM representation.
  +
  +  `DebugElement`提供了对组件的DOM提供了访问渠道。
   
     From the test root component's `DebugElement`, returned by `fixture.debugElement`, 
     you can walk (and query) the fixture's entire element and component sub-trees.
   
  +  `fixture.debugElement`返回测试根组件的`DebugElement`，通过它你可以访问（查询）fixture的整个元素和组件子树。
  +
     Here are the most useful `DebugElement` members for testers in approximate order of utility.
   
  +  下面是`DebugElement`最有用的成员，以使用频率排序。
  +
   table
     tr
  -    th Member
  -    th Description
  +     th 
  +      :marked
  +        Members
  +
  +        成员
  +    th 
  +      :marked
  +        Description
  +
  +        描述
     tr
       td(style="vertical-align: top") <code>nativeElement</code>
       td
         :marked
           The corresponding DOM element in the browser (null for WebWorkers).
  +
  +        与浏览器中DOM元素对应（WebWorkers时，值为null）。
     tr
       td(style="vertical-align: top") <code>query</code>
       td
         :marked
           Calling `query(predicate: Predicate<DebugElement>)` returns the first `DebugElement`
           that matches the [predicate](#query-predicate) at any depth in the subtree.
  +
  +        调用`query(predicate: Predicate<DebugElement>)`返回第一个`DebugElement`，
  +        它在子树所有层中匹配[predicate](#query-predicate)。
     tr
       td(style="vertical-align: top") <code>queryAll</code>
       td
         :marked
           Calling `queryAll(predicate: Predicate<DebugElement>)` returns all `DebugElements`
           that matches the [predicate](#query-predicate) at any depth in subtree.
  +
  +        调用`query(predicate: Predicate<DebugElement>)`返回所有`DebugElement`，
  +        它在子树所有层中匹配[predicate](#query-predicate)。
     tr
       td(style="vertical-align: top") <code>injector</code>
       td
         :marked
           The host dependency injector. 
           For example, the root element's component instance injector.
  +
  +        宿主依赖注入器。
  +        比如，根元素的组件实例注入器。
     tr
       td(style="vertical-align: top") <code>componentInstance</code>
       td
         :marked
           The element's own component instance, if it has one.
  +
  +        元素自己的组件实例（如果有）。
      tr
       td(style="vertical-align: top") <code>context</code>
       td
         :marked
           An object that provides parent context for this element.
           Often an ancestor component instance that governs this element.
  +
  +        为元素提供父级上下文的对象。
  +        通常是控制该元素的祖级组件实例。
   
           When an element is repeated with in `*ngFor`, the context is an `NgForRow` whose `$implicit`
           property is the value of the row instance value. 
           For example, the `hero` in `*ngFor="let hero of heroes"`.
  +
  +        当一个元素被`*ngFor`重复，它的上下文为`NgForRow`，它的`$implicit`属性值是该行的实例值。
  +        比如，`*ngFor="let hero of heroes"`里的`hero`。
     tr
       td(style="vertical-align: top") <code>children</code>
       td
         :marked
           The immediate `DebugElement` children. Walk the tree by descending through `children`.
  +
  +        `DebugElement`的直接子级。通过`children`来降序探索元素树。
   
         .l-sub-section
           :marked
             `DebugElement` also has `childNodes`, a list of `DebugNode` objects. 
             `DebugElement` derives from `DebugNode` objects and there are often 
             more nodes than elements. Testers can usually ignore plain nodes.
  +
  +          `DebugElement`还有`childNodes`，即`DebugNode`对象列表。
  +          `DebugElement`从`DebugNode`对象衍生，而且通常节点（node）比元素多。测试者通常忽略赤裸节点。
     tr
       td(style="vertical-align: top") <code>parent</code>
       td
         :marked
           The `DebugElement` parent. Null if this is the root element.
   
  +        `DebugElement`的父级。如果它是根元素，则为null。
  +
     tr
       td(style="vertical-align: top") <code>name</code>
       td
         :marked
           The element tag name, if it is an element.
  +
  +        元素的标签名字，如果它是一个元素的话。
   
     tr
       td(style="vertical-align: top") <code>triggerEventHandler</code>
  
positive.code:       :marked
          This component's injector lookup tokens.
          Includes the component itself plus the tokens that the component lists in its `providers` metadata.
    tr
      td(style="vertical-align: top") <code>source</code>
      td
        :marked
          Where to find this element in the source component template.
  
    tr
      td(style="vertical-align: top") <code>references</code>
  
negative.code:         The second parameter is the _event object_ expected by the handler.
          See [above](#trigger-event-handler).
  
          如果在元素的`listeners`列表中有一个对应的`listener`，则以事件名字触发。
          第二个参数是**事件对象**，一般为事件处理器。
          参见[上面](#trigger-event-handler)。
  
          If the event lacks a listener or there's some other problem, 
          consider calling `nativeElement.dispatchEvent(eventObject)`
  
          如果事件缺乏监听器，或者有其它问题，考虑调用`nativeElement.dispatchEvent(eventObject)`。
  
    tr
      td(style="vertical-align: top") <code>listeners</code>
      td
        :marked
          The callbacks attached to the component's `@Output` properties and/or the element's event properties.
  
          元素的`@Output`属性以及/或者元素的事件属性所附带的回调函数。
  
    tr
      td(style="vertical-align: top") <code>providerTokens</code>
  