属性覆盖选择器在类型存储<state> ngrx/store@8.2 上不存在



我正在添加一个测试,该测试需要返回选择器的其他模拟值。因此,我找到了一种使用OverRideselecor的好方法,如下所述,https://ngrx.io/guide/store/testing。但是,当添加 oigstore.overrideselector 时,遇到此错误"属性OverRideselector在类型存储中不存在"。有人在此之前修复过吗?

在Angular 7中,无知店确实没有该功能。迁移到Angular 8将解决您的问题。

这很可能只是打字问题。如果您使用provideMockStore,则实际上会创建一个MockStore的实例,该实例在DI上以Store实例提供,因此不会破坏您的应用功能。

因此,在您的测试中,您应该这样使用:

let store: MockStore<State>;
...
store = TestBed.get<Store<State>>(Store);
...
store.overrideSelector(...);

最新更新