Приемочный тест Ember - тайм-ауты

У меня есть достаточно особый вариант использования: у меня есть поле ввода, которое выполняет поиск, когда пользователь перестал печатать на 500 мс. Это разработано как многоразовое дополнение.

Я хотел бы написать приемочный тест для этого, но я не могу заставить тесты пройти должным образом. Первый проходит, второй нет.

Теперь у Ember runloop есть хорошее описание, но его поведение действительно "что-то другое".

Это мой помощник для тайм-аута runloop:

import Ember from 'ember';

export default Ember.Test.registerAsyncHelper('pauseFor', function (time) {
  return Ember.Test.promise(function (resolve) {
    Ember.run.later(resolve, time);
  });
});

И вот как я это использую

it('should do something after 500ms', function () {
  visit('/');

  fillIn('.search-input', 'a');
  pauseFor(500);

  andThen(function () {
    // do my assertions/expectations here...
  });
});

Это ошибка, которую я получаю:

Странно то, что у меня есть 2 тестовых случая, и первый проходит успешно.

Я думаю, мой вопрос: как это сделать правильно? Что мне здесь не хватает или что я делаю не так? Как я могу просто прервать тестовый случай?

Спасибо за помощь!

0 ответов

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