Как остановить глобальные сбои в qUnit?
Я новичок в qunit и пытаюсь интегрировать его с существующей средой.
Одна из проблем, возникающих на страницах, использующих jQuery, такова:
global failure (1, 0, 1)Rerun6 ms
Uncaught ReferenceError: $ is not defined
Я думаю, это связано с тем, что я не называю библиотеку jquery в qunit HTML. Можно ли установить параметр для игнорирования таких глобальных переменных? Я пытаюсь сделать HTML как можно более гибким, и поскольку у многих редакторов есть разные зависимости, я хочу, чтобы qunit тестировал функции, которые я специально дал ему для тестирования.
Ответы
Ответ 1
Я тупик с той же ошибкой, но без использования jQuery. Часть QUnit, которая отвечает за распространение ошибки, - это функция обратного вызова window.onerror
, которая, помимо прочего, проверяет, установлено ли значение конфигурации QUnit.config.current.ignoreGlobalErrors
.
Значения конфигурации QUnit описаны в документации QUnit.config. К сожалению, свойство current
объекта config
не описано, но, глядя на источник, свойство конфигурации ignoreGlobalErrors
определяет, сообщаются ли глобальные ошибки или нет. Пробный прогон со следующими строками прокомментировал прогоны:
QUnit.test( "global failure", extend( function() {
QUnit.pushFailure( error, filePath + ":" + linerNr );
}, { validTest: validTest } ) );
Я понимаю, что это всего лишь взломать, но если вы ищете быстрый "грязный способ заставить замолчать QUnit, это сработает".
Ответ 2
У меня была проблема с Chrome, и я обнаружил, что это одно из моих расширений chrome, которое выдает ошибку и вызывает проблемы с QUnit. Попробуйте отключить расширения и перезапустить браузер.
Ответ 3
Из Руководство по обновлению Qunit 2.x Я могу прочитать, что произошли изменения в использовании объекта Qunit, при использовании 1.x он работает как это:
test( "global failure", extend( function() {
QUnit.pushFailure( error, filePath + ":" + linerNr );
}, { validTest: validTest } ) );
С другой стороны, при использовании 2.x:
Qunit.test( "global failure", extend( function() {
QUnit.pushFailure( error, filePath + ":" + linerNr );
}, { validTest: validTest } ) );
должен работать.
: -)
Ответ 4
для меня это была просто проблема QUit.
просто изменил более низкую версию qunit, без ошибок.