我很惊讶,尽管进行了大量搜索,但我仍然找不到答案。
我正在尝试测试我的订阅代码是否做对了。在Angular 2中,我已经做过无数次了,但是我们刚刚启动了一个新项目,所以我们使用的是最新的Angular,它重新编写了rxjs,将链接更改为管道,现在我不知道该怎么做。模拟或如何做。
给出:
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,但我似乎无权访问它?我该如何测试?或者,这不再是推荐的模式,我应该完全做其他事情吗?
答案 0 :(得分:0)
实际上它正在返回一个新的Observable,但您并不关心Observable本身,而是关心它包含的流,请尝试执行以下操作:
measuring_point: '-'
哇,很难在编辑器中输入它。如果我错过了一些东西,将无法正常工作,请添加带有我的名字的评论,以便我看到它。希望有帮助。