首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ngrx效果规范将错误抛出为“未初始化测试调度程序”

Ngrx效果规范将错误抛出为“未初始化测试调度程序”
EN

Stack Overflow用户
提问于 2019-03-18 13:13:55
回答 4查看 2.7K关注 0票数 3

试图运行一个简单的效果测试与一个现有的和最近迁移的角7项目。但我得到的错误如下。

错误:没有测试调度程序初始化在(node_modules/jasmine-marbles/es6/src/scheduler.js:11:1)的,在新的TestHotObservable上,在Module.hot (node_modules/jasmine-marbles/es6/index.js:7:1)

我的代码在效果规范文件是基本的标准检查与茉莉弹珠。

代码语言:javascript
复制
const action = new Load(request);
const completion = new LoadSuccess(result);

actions$ = hot('-a-', { a: action});
const response = cold('-a|', {a: result});
const expected = cold('--b', {b: completion});
service.getSomething.and.returnValue(result);
expect(effects.load$).toBeObservable(expected);

以前有人见过并解决过这个错误吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-03-21 12:53:12

虽然改为ES5解决了这个问题,但我的同事想出了一个更好的解决方案。解决方案是在src/test.ts文件中添加以下行。我更喜欢它,因为它允许在ES6中继续测试。

代码语言:javascript
复制
import { addMatchers, getTestScheduler, initTestScheduler, resetTestScheduler } from 'jasmine-marbles';

// configure matchers for jasmine-marbles
jasmine.getEnv().beforeAll(() => {
  return addMatchers();
});
jasmine.getEnv().beforeEach(() => {
 initTestScheduler();
});
jasmine.getEnv().afterEach(() => {
 getTestScheduler().flush();
 resetTestScheduler();
});
票数 9
EN

Stack Overflow用户

发布于 2019-06-19 10:28:51

把茉莉花弹珠升级到0.6.0,帮我解决了这个问题。

票数 7
EN

Stack Overflow用户

发布于 2019-03-18 15:07:13

经过进一步的研究发现,这是由于编译器在tsconfig.spec.json中的选择。最初它被设置为"es6“:”es5“,将其更改为es5解决了这个问题,规范现在已经成功运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55222252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档