// #docplaster import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; import { BannerComponent } from './banner.component'; describe('BannerComponent (templateUrl)', () => { let comp: BannerComponent; let fixture: ComponentFixture; let de: DebugElement; let el: HTMLElement; // #docregion async-before-each // async beforeEach beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ BannerComponent ], // declare the test component }) .compileComponents(); // compile template and css })); // #enddocregion async-before-each // #docregion sync-before-each // synchronous beforeEach beforeEach(() => { fixture = TestBed.createComponent(BannerComponent); comp = fixture.componentInstance; // BannerComponent test instance // query for the title

by CSS element selector de = fixture.debugElement.query(By.css('h1')); el = de.nativeElement; }); // #enddocregion sync-before-each it('no title in the DOM until manually call `detectChanges`', () => { expect(el.textContent).toEqual(''); }); it('should display original title', () => { fixture.detectChanges(); expect(el.textContent).toContain(comp.title); }); it('should display a different test title', () => { comp.title = 'Test Title'; fixture.detectChanges(); expect(el.textContent).toContain('Test Title'); }); });