我有一个socketService
,正在使用组件初始化以从服务器获取一些数据。但是,我不能嘲笑它,因为它说
TypeError:this.socketService.send不是函数
export class SocketStub {
send(message: ISocketRequest): Observable<any> {
return of({"status": 200, "data": "success"});
}
}
供应商在测试中
providers: [{
provide: SocketService,
useValue: SocketStub
}]
并且在每个人之前
beforeEach(() => {
socketService = TestBed.get(SocketService);
fixture = TestBed.createComponent(UsersItemComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
我试图运行的一个测试是默认测试'应该创建'。由于组件使用此socketService
来获取我需要模拟它的数据,但它似乎不起作用
使用useClass。当使用ngx-socket-io
时它适用于我
beforeEach(async(() => {
TestBed.configureTestingModule({
// ...
providers: [{ provide: SocketService, useClass: SocketStub }],
//...
})