相关疑难解决方法(0)

@ ngrx/effects:测试一个效果返回empty()

我正在使用@ ngrx/effects 4.1.1.我有一个效果,返回一个像这样的空observable:

@Effect() showDialog$: Observable<Action> = this
.actions$
.ofType( ActionTypes.DIALOG_SHOW )
.map( ( action: DialogAction ) => action.payload )
.switchMap( payload => {
    this.dialogsService.showDialog( payload.className );
    return empty();
} );
Run Code Online (Sandbox Code Playgroud)

我正在尝试按照这些指南编写一个单元测试,测试该效果会产生一个空的可观察量.我有这个:

describe( 'DialogEffects', () => {
    let effects: DialogEffects;
    let actions: Observable<any>;
    const mockDialogService = {
        showDialog: sinon.stub()
    };

    beforeEach( () => {
        TestBed.configureTestingModule( {
            providers: [
                DialogEffects, provideMockActions( () => actions ),
                {
                    provide: DialogsService,
                    useValue: mockDialogService
                }
            ]
        } );

        effects = TestBed.get( DialogEffects ); …
Run Code Online (Sandbox Code Playgroud)

unit-testing karma-jasmine ngrx-effects angular

4
推荐指数
2
解决办法
1610
查看次数