Я пишу приложение с использованием 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');
}
}
Как заставить мой модульный тест работать и запустить блок ожидающих