Как проверить время, указанное пользователем в setTimeout - PullRequest
0 голосов
/ 11 августа 2011

Прямо сейчас у меня есть плагин jQuery, который добавляет некоторые дополнительные настройки (вокруг того, как обрабатывать возвращаемые данные в определенных контекстах) и опрашивает сервер на предмет информации и изменений. Одна из обязательных функций - позволить пользователю установить интервал опроса. setTimeout (в паре с рекурсией) - это функция, используемая для создания постоянного опроса; это тоже требование.

Вот где я в тупике: наряду с необходимыми функциями, указанными выше, мне также нужно проверить, действительно ли указанное пользователем значение использовалось в setTimeout. Как бы я поступил так с точки зрения QUnit?

Я уже обдумывал прямую синхронизацию функции с Date.getTime (), но то, как все настроено в данный момент, это не вариант.

1 Ответ

0 голосов
/ 15 августа 2011

Рассмотрите возможность рефакторинга кода таким образом, чтобы вы могли переопределить метод, начиная тайм-аут в вашем тесте, позволяя вам проверить, что передано правильное значение, без фактического запуска тайм-аута.на самом деле вызовите setTimeout, рассмотрите возможность использования sinon.js , чтобы смоделировать сам setTimeout и контролировать, что он делает вместо этого.

...