#javascript #asynchronous #underscore.js #qunit
#javascript #асинхронный #underscore.js #qunit
Вопрос:
Я хочу установить задержку в своем модульном тестировании, чтобы мой скрипт мог выполняться полностью, поскольку некоторые части моего кода являются асинхронными, но, похоже, что qunit игнорирует мой setTimeout и продолжает ждать start()
Итак, я свел это к следующему
asyncTest('setTimeout', 1, function(){
_.delay(function(){
start();
alert('I want to be called stanly');
ok(1);
}, 250);
}
Похоже, это не срабатывает всякий раз, когда я загружаю свою страницу.
Очевидно, что это неправильный способ использования задержек в QunitJS. Мой вопрос в том, как было бы правильно, если вообще.
Редактировать:
Я использую несколько библиотек:
Qunit
Sinon
Sinon-qunit
jQuery
backbone
underscore
bootstrap
Комментарии:
1. У меня нет никакого опыта работы с QUnit, но, согласно документам, вторым параметром является тестовая функция, а не число: api.qunitjs.com/QUnit.asyncTest
2. Неважно, я только что прочитал это:
This method used to have an optional second argument called expected. This argument is deprecated and its usage will start throwing errors in 2.0.0
3. За исключением небольшой синтаксической ошибки, этот код отлично работает для меня ( JSFiddle ). Можете ли вы подробнее рассказать о проблеме?
Ответ №1:
Оказывается, вам не следует использовать qunit и sinon-qunit рядом друг с другом, поскольку это не плагин. Как только вы удалите sinon-qunit, все должно работать нормально.