【发布时间】:2019-08-08 18:24:42
【问题描述】:
我正在尝试编写一个基本的ngrx 效果测试。但是我不断收到错误,因为 TypeError: expect(...).toBeObservable is not a function。
这是一个使用 Angular 7 的新项目设置。我以前在 Angular 4 中运行的项目没有任何问题。
最初认为这可能与软件包有关,因此将所有软件包升级到最新但还没有运气。
我试图测试一个非常简单的 observable 作为 expect(effects.test$).toBeObservable(5);但它给出了同样的错误。如标题所述,我使用的是 jasmine-marbles,版本为 0.4.1。
【问题讨论】:
-
我猜这是rxjs引起的。从rxjs 6开始,变化很大,所以我认为这是依赖版本问题。
-
同样从 rxjs 6 开始,它使用管道样式运算符,github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md,我认为您也需要将代码更改为管道运算符。
-
谢谢@Niuhuru Lang,我知道有管道的操作员。令我惊讶的是,我刚刚在全球范围内安装了 Angular CLI 7 并做了一个新项目。添加了商店和茉莉花弹珠。我希望通过一个简单的可观察测试,但它没有发生!
标签: angular7 ngrx-effects jasmine-marbles