Ram*_*ula 6 unit-testing angular
我是为 angular 编写单元测试用例的新手。我必须为ngAfterViewInit编写一个测试用例。我不知道如何开始。我正在使用角度 7。
我的组件代码:
export class MyAccessComponent implements OnInit, AfterViewInit {
// Spinner
pageLoaded: boolean;
@Input() diameter = 64;
@Input() strokeWidth = 7;
// Icons
faEdit = faEdit;
dataSource;
@ViewChild(MatPaginator) paginator: MatPaginator;
constructor(private router: Router, private userService: UserService) { }
ngOnInit() {
this.pageLoaded = false;
// Data table init
this.getUsers();
}
ngAfterViewInit() {
setTimeout(() => {
this.pageLoaded = true;
}, 500);
}
}
Run Code Online (Sandbox Code Playgroud)
Mas*_*tto 11
您可以使用组件实例以编程方式调用生命周期挂钩,例如:
beforeEach(() => {
fixture = TestBed.createComponent(MyAccessComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should set pageLoaded after view init', () => {
component.ngAfterViewInit();
expect(component.pageLoaded).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)
请记住,由于您在钩子中使用了超时,因此您需要使用fakeAsync来正确测试
| 归档时间: |
|
| 查看次数: |
8414 次 |
| 最近记录: |