«Введена глобальная переменная (и) _firebug» в тестах QUnit - PullRequest
2 голосов
/ 12 октября 2011

Я использую QUnit для выполнения различных простых тестов на моем сайте.Одним из тестов является создание диалога, его показ, а затем закрытие.Тест работает нормально, но при запуске в Firefox с активированным Firebug я получаю сообщение об ошибке:

3. Introduced global variable(s): _firebug

Я могу жить с этим, но это раздражает: тот же код в Chrome работает нормально.Я исключил jQuery UI как виновника, поскольку та же самая ошибка появляется без него.Тем не менее, работа без Firebug или без трассировки console.log не показывает проблему.

Я удалил весь код JavaScript, который я использую, и не нашел упоминания о каких-либо переменных «firebug»;и Google молчал по этому вопросу.Я хочу вернуть свой зеленый экран (все тесты пройдены)!Есть идеи?

1 Ответ

5 голосов
/ 13 октября 2011

После того, как я немного погуглил, я не первый, кто нашел эту проблему: badglobals.js , blog , Google groups .Решение моей конкретной проблемы (QUnit сообщает об утечке глобальной переменной) состоит в том, чтобы добавить объявление глобальной переменной перед запуском тестов, например, перед запуском первого модуля:

var _firebug;
module('myModule');

Я вижу ложную xdc переменная тоже;то же решение.Мой первый тестовый файл QUnit теперь выглядит следующим образом:

/* declare spurious Firebug globals */
var _firebug;
var _xdc_;

/* run tests */
module('myModule');

Теперь мой столбик зеленый, даже с проверенными ноглобалами!Я надеюсь, что это поможет любому, кто найдет эту досадную проблему.

...