我有几个角度组件要测试并确保它们正常工作。
最简单形式的组件的想法是列出数据点。这些数据点中的每一个都应该可以通过 API 移除。
所以设置的流程是
delete
动作的删除按钮deleted
动作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
控制台日志。
有什么明显的地方我做错了吗?
我不得不假设
provideMockStore
来自 @ngrx/store/testing
因为你没有指定它并且在你的代码中遗漏了你的导入。
考虑到这种可能性,如果您阅读了正常行为的文档
https://ngrx.io/guide/store/testing
注意:所有派发的动作不会影响状态,但您可以在动作流中看到它们。