Приемочный тест 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 тестовых случая, и первый проходит успешно.
Я думаю, мой вопрос: как это сделать правильно? Что мне здесь не хватает или что я делаю не так? Как я могу просто прервать тестовый случай?
Спасибо за помощь!