У меня есть приложение Angular со следующим кодом:
zip(...this.loadingTasks).subscribe((result: boolean[]) => {
this.shouldShowContent = result.every((isLoading: boolean) => {
return !isLoading;
});
});
, где loadingTasks
имеет тип Observable<boolean>[]
. Все отлично работает при запуске приложения, но когда я выполняю свои тесты кармы / жасмина, которые выглядят так:
const obs1 = of(false);
const obs2 = of(false);
component.loadingTasks = [obs1, obs2];
// ...
expect(component.shouldShowContent).toBe(true);
я получаю следующую ошибку:
TypeError: Object(...) is not iterable (cannot read property Symbol(Symbol.iterator))
Что происходит Вот? Использует ли карма версию TypeScript или rx js, отличную от той, которая используется при запуске приложения с ng serve? Следует также упомянуть, что этот тест был успешно выполнен до того, как я обновил свое приложение с Angular 6 до Angular 8.