我有一个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 }],
//...
})