У меня есть следующий угловой компонент:
export class AppComponent implements OnInit {
data: Currency[];
ngOnInit() {
d3.csv('../../assets/data.csv').then((data: any) => {
this.data = data.map(item => new Currency(item.date, item.price));
});
}
}
Я хотел бы написать юнит-тест для этого компонента, и это то, что я до сих пор:
it('should ', async(() => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
fixture.whenStable().then(() => {
const app = fixture.debugElement.componentInstance;
expect(app.data.length).toBe(10);
});
}));
Я считаю, что fixture.whenStable будет ждать, пока все обещания будут разрешены (например, в ngOnInit).Может ли кто-нибудь посоветовать мне написать правильный модульный тест, который ждет, пока обещание не будет разрешено, и значение this.data имеет значение?
На данный момент это, кажется, ответ: Тестирование обещания в Angular 2 ngOnInit