Скажем, у меня есть угловой Компонент, который определяет Наблюдаемую myObs$
как одно из его свойств.
В одном тесте, учитывая определенные условия, я хочу проверить, что myObs
не уведомляет.В логике присутствуют некоторые задержки, поэтому тест должен быть асинхронным.
Я использую Жасмин .
Пока мне удалось создать это решение
it('asynch test', done => {
let dataEmitted;
myObs$
.pipe(
tap(data => dataEmitted = data),
)
.subscribe();
setTimeout(() => {
if (dataEmitted) {
done.fail('should not emit ');
} else {
done();
}
}, 1000);
});
но я далек от этого.Я должен положиться на setTimeout
, чтобы выполнить проверки и вызвать функцию done
.
Есть какие-либо предложения о том, как правильно выполнить такой тест?Синхронные решения не работают, поскольку в логике присутствует внутренняя асинхронность.