由于以下错误,我的Angular 10应用程序中的一些单元测试失败:
Failed: R3InjectorError(DynamicTestModule)[WebSocketAPI -> WebSocketAPI]: NullInjectorError: No provider for WebSocketAPI!
通常,此错误意味着我忘记了导入一个测试文件中的内容,但是这次我不知道确切导入什么内容才能修复该错误。我尝试过:
import { WebSocketAPI } from './service/WebSocketService';
但是它没有用,谷歌的研究也没有返回任何有趣的东西。我对Angular不太熟悉,有人知道如何解决此错误吗?
答案 0 :(得分:1)
我只需要将WebSocketAPI作为提供程序放在测试文件的beforeEach方法中即可:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
AppComponent
],
imports: [
RouterTestingModule,
HttpClientTestingModule
],
providers: [
WebSocketAPI
]
}).compileComponents();
}));