angular - Angular 单元测试失败:没有 WebSocketAPI 的提供者
问题描述
由于以下错误,我的一些单元测试在我的 Angular 10 应用程序中失败:
Failed: R3InjectorError(DynamicTestModule)[WebSocketAPI -> WebSocketAPI]: NullInjectorError: No provider for WebSocketAPI!
通常这个错误意味着我在我的一个测试文件中忘记了导入,但我不知道这次要准确导入什么来修复错误。我试过这个:
import { WebSocketAPI } from './service/WebSocketService';
但它不起作用,谷歌研究没有返回任何有趣的东西。我对 Angular 不是很熟悉,有人知道如何解决这个错误吗?
解决方案
我只需要将 WebSocketAPI 作为提供程序放在测试文件的 beforeEach 方法中:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
AppComponent
],
imports: [
RouterTestingModule,
HttpClientTestingModule
],
providers: [
WebSocketAPI
]
}).compileComponents();
}));
推荐阅读
- html - 如何在 html 表单上使用“必需”?必需的=“必需的”不起作用
- c++ - 在 C++ 中获取 std::map 的最大键的时间复杂度是多少?
- c++ - 从 `stdafx.h` 更改为 `pch.h`
- python - 如何用python读取fortran输出的矩阵?
- c++ - 在运行时使用自定义分配器和类型未知分配 std::vector
- android - 在我关闭并重新打开应用程序后,Glide 会放大用户图像
- java - 找到递归调用的最后一个实例
- android - play-services-basement-15.0.1.aar 崩溃错误
- css - ng-bootstrap,点击,更改下拉图标
- android - 通知上的小图标无法正常工作