Когда тест ember должен очистить таймеры?

У меня есть старое приложение Ember-cli, которое я только что обновил до всех последних зависимостей и форматов файлов, я запустил ember init с ember-cli@0.2.0-beta.1, но когда я пытаюсь написать приемочный тест с visit() помощник, внутренний wait функция никогда не разрешается.

Дальнейшее, что я смог отследить проблему в wait функция в bower_components/ember/ember.js файл, в строке if (run.hasScheduledTimers() || run.currentRunLoop) { return; }

На backburner есть таймер, но снова и снова цикл возвращается сюда, и у него, кажется, никогда не будет возможности очистить таймер.

Я уверен, что таймер должен убедиться, что wait хелпер ждет после запроса ajax, но запрос ajax уже давно решен. Черт возьми, если бы еще были ожидающие запросы, мы бы вышли из этой функции.

Любое понимание этого процесса будет с благодарностью!

1 ответ

Решение

У меня был случай Em.run.later в моем приложении в цикле, чтобы рекурсивно проверить на время ожидания. Это не редкость, оказывается!

Моим решением было поставить run.later заблокировать в условной проверке текущей среды и отключить при тестировании.

Другие вопросы по тегам