NativeScript - модульный тест Karma не выполняется с обещанием - PullRequest
0 голосов
/ 30 марта 2020

Я пишу приложение с использованием NativeScript 6.4.1 и Angular 8.2.0. Я использую karma & jasmine для написания своих модульных тестов.

В одном из моих сервисов есть функция, которая возвращает обещание, и я хотел бы написать модульный тест для тестирования этой функции.

Я читаю документацию здесь: https://angular.io/guide/testing#service -tests

Я должен иметь возможность писать тесты с асинхронными вызовами с помощью функции done ().

My в тесте не вызывается обещание:

describe('SsoAuthenticationService', () => {

  let service: SsoAuthenticationService;

  beforeEach(nsTestBedBeforeEach([], [SsoAuthenticationService]));

  beforeEach(() => {
    service = TestBed.get(SsoAuthenticationService);
  });

  it('getHttpHeader - token data exisits and it is valid', (done: DoneFn) => {

    const result = service.getHttpHeader();
    console.log('1'); //called

    result.then((res) => {
      console.log('2'); //not being called
      expect(res).not.toBeNull(); //not being called
      done();
    });

console.log('3'); //called

service:

export class SsoAuthenticationService {

    public getHttpHeader(): Promise<string> {
        return Promise.resolve('a');
    }

}

Как заставить мой модульный тест работать и запустить блок ожидающих

...