timeout.flush () вызывает таймаут модульного теста (AfterAll Failure) - PullRequest
0 голосов
/ 05 октября 2018

Я использую Angular JS 1. * и пишу юнит-тесты с использованием Jasmine.

// buildCtrl() and stuff
ctrl.newPostText = 'My post';

ctrl.submitNewPost();

timeout.flush(); // if I delete this line ctrl.postSubmitting = false
                 // but there's no timeout at least
expect(ctrl.postSubmitting).toBe(true);

Этот submitNewPost в основном запускает подтверждение mdDialog, и я проверяю его в тестах:

    mdDialogMock = jasmine.createSpyObj('mdDialog', ['confirm', 'show']);
    mdDialogMock.show.and.returnValue(q.when(true));

    mdConfirmDialogMock = jasmine.createSpyObj('mdDialog', [
      'title',
      'textContent',
      'ok',
      'cancel',
    ]);
    mdConfirmDialogMock.title.and.returnValue(mdConfirmDialogMock);

Есть ли у вас какие-либо идеи, как я могу отладить его (проверить задачу очереди)?Что можно поставить вместо timeout.flush(), чтобы оно заработало?

Спасибо!

...