我的组件订阅了服务中的 Observable,该服务通过 Ngrx 选择器填充,为简洁起见在此概括:
export class MyService {
signInFalied$: Observable<boolean>;
constructor(
private store: Store<MyAppState>,
) {
this.signInFailed$ = this.store.select(mySelectors.signInFailed);
}
}
我的组件具有基于此状态值的条件内容,我想测试是否显示了正确的内容。在我的测试中,我为服务提供了一个模拟,如下所示:
describe('My Test', () => {
let spectator: SpectatorHost<MyComponent>;
const createHost = createHostComponentFactory({
component: MyComponent,
declarations: [MyComponent],
providers: [
...,
mockProvider(MyService, {
signInFailed$: cold('x', { x: null }),
...
}),
],
imports: [...]
});
});
当我运行测试时,我得到:
错误:未初始化测试调度程序
通过搜索,我尝试将编译目标设置为 ES5
我此时也在使用最新版本的 jasmine-marbles:0.6.0
我究竟做错了什么?