4

我正在尝试编写一个基本的ngrx 效果测试。但是我不断收到错误,因为 TypeError: expect(...).toBeObservable is not a function。

这是 Angular 7 的新项目设置。我以前在 Angular 4 中运行的项目没有任何问题。

最初认为这可能与软件包有关,因此将所有软件包升级到最新但还没有运气。

我试图测试一个非常简单的 observable 作为 expect(effects.test$).toBeObservable(5); 但它给出了同样的错误。正如标题中提到的,我使用的是 jasmine-marbles,版本是 0.4.1。

4

1 回答 1

11

您需要在 each 或 toBeObservable 不会被定义之前初始化测试调度程序并添加匹配器:

import { addMatchers, initTestScheduler } from 'jasmine-marbles';

beforeEach(() => {
  ...
  initTestScheduler();
  addMatchers();
});
于 2019-05-29T15:37:45.243 回答