使用 ngrx 存储测试 Angular 组件

问题描述 投票:0回答:0

我有几个角度组件要测试并确保它们正常工作。

最简单形式的组件的想法是列出数据点。这些数据点中的每一个都应该可以通过 API 移除。

所以设置的流程是

  • ngrx 存储填充了来自 api
  • 的数据点
  • 角度组件将所有点呈现为列表
  • 用户单击发送
    delete
    动作的删除按钮
  • 一个效果监听这个动作并调用一个 api 来删除它,并在完成后向商店发送一个
    deleted
    动作
  • reducer 监听
    deleted
    动作并从 store 中删除点
  • 组件重新渲染并移除点

所有这些都是我自己完成的,但如前所述,我想使用测试库为它创建一个测试。 问题是无论我尝试什么,我似乎都无法理解消失的意义。

这是我渲染组件的方式:

    render(DatapointPageComponent, {
      providers: [
        provideMockStore({
          initialState: { ...APPLICATION_STATE },
        }),
        {
          provide: DatapointService,
          useValue: {
            deleteIntegration() {
              console.log('mock delete');
              return of(true);
            },
          },
        },
      ],
      declarations: [DatapointListComponent],
      imports: [
        AppModule,
        StoreModule.forRoot({}),
        EffectsModule.forRoot(DatapointEffects),
      ],
      schemas: [NO_ERRORS_SCHEMA],
    });

也可以添加,我没有得到我期望的

mock delete
控制台日志。

有什么明显的地方我做错了吗?

angular ngrx testing-library angular-testing-library
© www.soinside.com 2019 - 2024. All rights reserved.