接下来,让我们通过一个详细的示例来说明 假设我们有一个简单的 Angular 组件,其中有一个异步方法 首先,让我们创建这个组件: import { Component } from '@angular/core'; @Component({ selector: 'app-data', template: '{{ data }}' }) export class DataComponent { data: string = ''; fetchData(): void { setTimeout(() => { this.data = 'Fetched data'; }, 1000); } } 现在,我们需要编写测试用例来测试这个组件的异步操作。我们将使用 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing'; import { DataComponent } from './data.component'; describe('DataComponent', () => { let component: DataComponent; let fixture: ComponentFixture<DataComponent>; beforeEach(() => { TestBed.configureTestingModule({ declarations: [DataComponent] }); fixture = TestBed.createComponent(DataComponent); component = fixture.componentInstance; }); it('should update data after fetching', fakeAsync(() => { expect(component.data).toBe(''); component.fetchData(); expect(component.data).toBe(''); // 手动前进虚拟时间 tick(1000); expect(component.data).toBe('Fetched data'); })); }); 在这个测试用例中,我们使用 通过使用 总结起来, |
|