首页 > 解决方案 > Angular TestBed 父服务提供者未定义

问题描述

我有基础服务和多个子服务,我想在子服务中省略相同的构造函数,当我运行 app.js 时它似乎工作正常。但是测试失败了,因为 TestBed 似乎无法解决父服务的依赖关系。这有可能吗?

@Injectable({
  providedIn: 'root'
})
export abstract class BaseService<T> {

  constructor(protected httpClient: HttpClient) {}
}

@Injectable({
  providedIn: 'root'
})
export class ChildService extends BaseService<Foo> {
}

...test
TestBed.configureTestingModule({
 imports: [
  HttpClientTestingModule
 ],
 providers: [
  {provide: HttpClient, useValue: mockHttpClient}
 ]
});

    const service = TestBed.get(ChildService); <---- httpClient not defined in child service, if i specify constructor in child service it works.

标签: angulartestbed

解决方案


推荐阅读