У меня есть следующий эффект ngrx
@Injectable()
export class StoreEffects {
constructor(
private store: Store<State>,
private actions$: Actions,
) { }
@Effect()
userProfile$ = this.actions$
.ofType('Load')
.switchMap(action => {
const payLoad = action['payload'];
//Run code to load here
return Observable.of({}); //Just for clarity I have simplified
});
}
Теперь я хочу выполнить это модульное тестирование и натолкнулся на следующую документацию
https://github.com/ngrx/platform/blob/master/docs/effects/testing.md
Следуя инструкциямДокументация Я разработал следующую спецификацию
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientModule,
StoreModule.forRoot({}) //I'm not sure why you need this, but if I dont supply this it does not work
],
providers: [
ProfileEffects,
provideMockActions(() => actions),
],
});
});
it('should work', async () => {
actions = hot('-a|', { a: {type: 'Load'}} });
console.log('testing');
});
});
Теперь из того, что я понимаю, когда я запускаю спецификацию, она должна вызывать мой эффект, но ничего не происходит, и тест просто завершается.Что я здесь не так делаю?
Я использую Jamine.