我有一个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
来获取数据,因此我需要对其进行模拟,但它似乎不起作用
答案 0 :(得分:0)
使用 useClass 。使用ngx-socket-io
beforeEach(async(() => {
TestBed.configureTestingModule({
// ...
providers: [{ provide: SocketService, useClass: SocketStub }],
//...
})