我正在尝试编写一个基本的 ngrx 效果测试。但是我不断收到错误,因为 TypeError: expect(...).toBeObservable is not a function。
这是一个使用 Angular 7 的新项目设置。我以前在 angular 4 中运行的项目没有问题。
最初认为这可能与软件包有关,因此将所有软件包升级到最新,但还没有运气。
我试图测试一个非常简单的 observable,如 expect(effects.test$).toBeObservable(5);但它给出了同样的错误。正如标题中提到的,我使用的是 jasmine-marbles,版本是 0.4.1。
最佳答案
您需要在每个或 toBeObservable 不被定义之前初始化测试调度程序并添加匹配器:
import { addMatchers, initTestScheduler } from 'jasmine-marbles';
beforeEach(() => {
...
initTestScheduler();
addMatchers();
});