angular - 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.
解决方案
推荐阅读
- python - 熊猫重塑具有不同长度行的数据框
- r - 在数据框中用 NA 替换特定值
- reactjs - 尝试获取资源时出现网络错误
- swift - 使用 Codable 在 Swift 中带有子集合的 Firebase 文档
- django - 在管理员中按外键搜索
- javascript - Google Place 搜索、文本搜索和附近搜索不会返回某些完全匹配的内容
- reporting-services - SSRS 报告 - 透视数据(最后一列分组)
- regex - 在模式“字符串”匹配之前和之后添加空白行
- python - 为什么结果不同,尽管代码完全相同?
- android - 如何将特定数据从 firebase 子节点检索到 Android Studio