zoukankan      html  css  js  c++  java
  • [Angular Unit Testing] Debug unit testing -- component rendering

    If sometime you want to log out the comonent html to see whether the html render correctly, you can do :

    import {TestBed, async, ComponentFixture} from '@angular/core/testing';
    import {AppComponent} from './app.component';
    import {AuFaInputComponent} from './lib/au-fa-input/au-fa-input.component';
    import {InputRefDirective} from './lib/common/input-ref.directive';
    import {DebugElement} from '@angular/core';
    import {By} from '@angular/platform-browser';
    
    describe('AppComponent', () => {
    
      let component: AppComponent,
        fixture: ComponentFixture<AppComponent>,
        el: DebugElement,
        emailField: DebugElement;
    
    
      beforeEach(async(() => {
        TestBed.configureTestingModule({
          declarations: [
            AppComponent, AuFaInputComponent, InputRefDirective
          ],
        }).compileComponents();
      }));
    
      beforeEach(() => {
    
        fixture = TestBed.createComponent(AppComponent);
        component = fixture.debugElement.componentInstance;
        el = fixture.debugElement;
        emailField = el.query(By.css('#email-field'));
    
        fixture.detectChanges();
      });
    
      it('should include the correct email icon inside the email input', async() => {
        // debug a component html
        console.log(emailField.nativeElement.outerHTML);
        expect(emaailField.query(By.css('i.icon.fa.fa-envelope'))).toBeTruthy();
      });
    });

    If you found that some tmeplate binding doesn't render, you might should add :

    fixture.detectChanges();

    to trigger change detection.

  • 相关阅读:
    斜率优化dp学习
    拓扑排序
    P2486 [SDOI2011]染色 区间合并+树链剖分(加深对线段树的理解)
    网络流24题!!!!
    费用流板子
    网络流dinic板子
    小花梨的数组
    C. 小花梨判连通
    splay树
    hdu4467 graph
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6994793.html
Copyright © 2011-2022 走看看