модульный тест для службы Angular, когда служба не возвращает Observable? - PullRequest
0 голосов
/ 30 мая 2019

Я посмотрел на документ , чтобы узнать, как протестировать http-запрос, но я не мог понять, как выполнить модульное тестирование службы, как показано ниже, из документации.

class service {

data$: BehaviorSubject<any> = new BehaviorSubject<>(any);

getDatas(): Observable<any> {
    this.http.get(url).subscribe((response) => {
       this.data$.emit(response);
    });
    // if return a observable will be like:
    // return this.http.get(url).

  }

}

Как я могу протестировать службу выше, если ее метод не возвращает Observable?

1 Ответ

1 голос
/ 30 мая 2019

Комментарий от Head Rush прав. Вот пример кода, который мне пригодился для этого.

сервис

export class SomeService {
  constructor() {}

  goDoSomething(): void {
      console.log('I did something');
  }

}

тест

    describe('testing goDoSomething method', () => {
        it('should call console log', () => {
            spyOn(console, 'log'); // console is the object, and log is the method I expect to be called
            service.goDoSomething();
            expect(console.log).toHaveBeenCalled();
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...