Я удивлен, что не смог найти ответ на этот вопрос, несмотря на большой поиск ...
Я пытаюсь проверить, что мой код подписки работает правильно.Я делал это бесчисленное количество раз прежде в Angular 2, но мы только начали новый проект, поэтому мы используем последний Angular, который переписал rxjs, который изменил цепочку на piping, и теперь я понятия не имею, чтоиздеваться или как это сделать.
Учитывая:
constructor(private media: MediaObserver) { }
ngOnInit() {
this.active = true;
this.media.media$.pipe(takeWhile((ev) => this.active)).subscribe((change: MediaChange) => {
if (change.mqAlias === "xs" || change.mqAlias === "sm") {
this.stackFooter = true;
} else {
this.stackFooter = false;
}
});
}
Как мне написать тест кармы / жасмина, чтобы убедиться, что this.stackFooter установлен правильно, когда запускается медиа-службамероприятие?Я, например, пытался шпионить за разными вещами (media $, "pipe"), но похоже, что takeWhile () возвращает новый Observable, к которому у меня нет доступа?Как я могу проверить это?Или это уже не рекомендуемый шаблон, и я должен просто заняться чем-то другим?