У меня есть такая структура:
this.activityExecuted$.subscribe( (isTrue) => {
this.myMethod(isTrue);
});
myMethod(isTrue: boolean): Promise<void> {
await this.backendService.resetFunctions();
if(isTrue) {
this.backendService.requestTrueFor(Activities.SomeActivity);
}
}
И вот этот тест:
test('should call requestForTrue', () => {
activityExecuted$$.next(true);
tick();
verify(BackendServiceMock.requestTrueFor(Activities.SomeActivity)).once();
}));
BackendServiceMock
это макет ts-mockito.
when(BackendServiceMock.resetFunctions()).thenReturn();
Тест не пройден, если я не поменяю tick();
на tick(1000)
. Если я пишу что-то меньше, чем 1000
, это терпит неудачу, и я не понимаю, почему ...
Когда я отлаживаю тест с помощью tick()
, я никогда не захожу в подписку. С 1000 да.