我正在尝试设置一个集成测试,它将使用 ngrx/data 实体从后端 API 服务中获取一些数据。
我设置了这个 StackBlitz:https ://stackblitz.com/edit/ngrxdata-testing-not-working-pxfmkb?file=src/main.ts
它应该在启动时运行测试 - 我的测试用例中没有任何期望,但是我正在查看控制台日志并期望它显示登录ClientDataService
(/src/app/data/client/client-data.service.ts
),即:
console.log('never goes here :(');
在集成测试(data.integration.spec.ts)中,我正在配置模块,定义客户端实体类型并包括AppDataServiceModule
依次执行此操作:
import { NgModule } from '@angular/core';
import { ClientDataService } from './client/client-data.service';
import { EntityDataService, EntityDefinitionService } from '@ngrx/data';
@NgModule({
providers: [
ClientDataService,
],
})
export class AppDataServiceModule {
constructor(
entityDataService: EntityDataService,
clientDataService: ClientDataService
) {
entityDataService.registerService('Client', clientDataService);
}
}
如您所见,我正在按照ngrx docs的建议注册数据服务,在这里
我觉得我已经很接近了,但只需要朝着正确的方向轻推就可以让它发挥作用!