小编Wei*_*eng的帖子

如何使用茉莉花和大理石在Angular 4 5中使用ngrx过滤器测试效果

我现在面临一个问题.不确定如何使用过滤器运算符测试动作$.

我也试图遵循https://github.com/vsavkin/testing_ngrx_effects/tree/309b84883c2709a34ab98b696398332d33c2104f的规则

简单地说,我只是设置过滤器,如果数组的长度为0则返回true.

例如:

loadDatas$: Observable<Action> = this.actions$.ofType(LOAD_DATAS_ACTION).pipe(

withLatestFrom(this.store.select(getDatas), (action, datas) =>datas),

filter(data => !data.length),

switchMap(() => {

console.log(‘run api’);

return this.dataApi.find().pipe(

map((datas: Data[]) => new DatasLoadedAction(datas))
Run Code Online (Sandbox Code Playgroud)

.........

... ..

所以我试着写两个测试用例,一个是

expect(effects.loadDatas$).toBeObservable(expected);
Run Code Online (Sandbox Code Playgroud)

当过滤器返回true时.

但我不知道如何测试过滤器是否返回false.

你对此有什么建议吗?非常感谢

store effects marble ngrx angular5

3
推荐指数
1
解决办法
1200
查看次数

标签 统计

angular5 ×1

effects ×1

marble ×1

ngrx ×1

store ×1