Как жасмин шпионит за общим методом c - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь шпионить за общим c методом в машинописном тексте,
но не могу заставить Жасмин его распознать.


У меня есть код

http: HttpClient <- Not proper code, just showing type.
...
this.http.get<Customer[]>(url);

где я хочу имитировать метод get<...>.

const httpMock = {} as HttpClient;
spyOn(httpMock, 'get')
   .and.returnValue(of({} as Customer[]));

Но когда я запускаю тест, я получаю

Ошибка:: метод get () не существует
Использование: spyOn (,)

1 Ответ

0 голосов
/ 22 июня 2020

Выходом было: не использовать какие-либо дженерики при насмешке.

describe('UserService', () => {
  it('should return proper users', (done) => {

    const returnedUsers = [...];

    const mock = {
      get: (_) => of({returnUsers}),
    } as HttpClient;

    const sut = new UserService(mock);

    //  Act.
    sut.getUser()
        .subsribe(users => {

            //  Assert.
            ...

            done();
        });
  });
});
...