【问题标题】:SignalR implementation error in Angular 6 with ng2-signalr package使用 ng2-signalr 包的 Angular 6 中的 SignalR 实现错误
【发布时间】:2019-10-22 17:43:12
【问题描述】:
ERROR 错误:未捕获(承诺中):错误:StaticInjectorError(AppModule)[SignalR -> InjectionToken SIGNALR_JCONNECTION_TOKEN]:
StaticInjectorError(平台:核心)[SignalR -> InjectionToken SIGNALR_JCONNECTION_TOKEN]:
NullInjectorError: 没有 InjectionToken SIGNALR_JCONNECTION_TOKEN 的提供者!
【问题讨论】:
标签:
asp.net
signalr
angular6
【解决方案1】:
我在 Angular 单元测试中遇到了同样的问题。我已经通过模拟 singalR 提供解决了这个问题。它不是我正在测试的代码的一部分。我的解决方案是:
创建像我们这样的自定义模拟类:
export class SignalRMock {
public createConnection(options?: any): any {
return null;
}
public connect(options?: any): Promise<any> {
return new Promise<any>(null);
}
}
然后将其用作测试模块中的存根:
TestBed.configureTestingModule({
imports: [],
providers: [
{provide: SignalR, useClass: SignalRMock},
SignalRConfiguration
]
});