Служба угловых макетов - PullRequest
       13

Служба угловых макетов

0 голосов
/ 26 ноября 2018

У меня есть 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

beforeEach(() => {
        socketService = TestBed.get(SocketService);
        fixture = TestBed.createComponent(UsersItemComponent);
        component = fixture.componentInstance;
        fixture.detectChanges();
    });

Один тест, который я пытаюсь запустить, - это тест по умолчанию «должен создать».Поскольку компонент использует это socketService для получения данных, мне нужно его смоделировать, но, похоже, он не работает

1 Ответ

0 голосов
/ 27 февраля 2019

Use useClass .У меня работает при использовании ngx-socket-io

beforeEach(async(() => {
    TestBed.configureTestingModule({
    // ...
       providers: [{ provide: SocketService, useClass: SocketStub }],
    //...
})
...