17.10.2018 Views

Angular

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 69: unit testing<br />

Section 69.1: Basic unit test<br />

component file<br />

@Component({<br />

selector: 'example-test-compnent',<br />

template: '<br />

{{user.name}}<br />

{{user.fname}}<br />

{{user.email}}<br />

'<br />

})<br />

export class ExampleTestComponent implements OnInit{<br />

let user :User = null;<br />

ngOnInit(): void {<br />

this.user.name = 'name';<br />

this.user.fname= 'fname';<br />

this.user.email= 'email';<br />

}<br />

}<br />

Test file<br />

describe('Example unit test component', () => {<br />

let component: ExampleTestComponent ;<br />

let fixture: ComponentFixture;<br />

beforeEach(async(() => {<br />

TestBed.configureTestingModule({<br />

declarations: [ExampleTestComponent]<br />

}).compileComponents();<br />

}));<br />

beforeEach(() => {<br />

fixture = TestBed.createComponent(ExampleTestComponent );<br />

component = fixture.componentInstance;<br />

fixture.detectChanges();<br />

});<br />

it('ngOnInit should change user object values', () => {<br />

expect(component.user).toBeNull(); // check that user is null on initialize<br />

component.ngOnInit(); // run ngOnInit<br />

expect(component.user.name).toEqual('name');<br />

expect(component.user.fname).toEqual('fname');<br />

expect(component.user.email).toEqual('email');<br />

});<br />

});<br />

GoalKicker.com – <strong>Angular</strong> 2 Notes for Professionals 221

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!