Подтвердить что ты не робот

Автозапуск QUnit

Я использую QUnit для проверки своего JavaScript. Я также использую requirejs. У меня есть тестовый код, который выглядит так:

QUnit.config.autostart = false;

require(['tests/tests'], function () {
    QUnit.start(); //Tests loaded, run tests
});

Это отлично работает в FF (19.0.2, как это бывает), но как в Chrome (27), так и в IE (10), я получаю ошибку QUnit:

"pushFailure() утверждение вне контекста тестирования"

Оказывается, мне не нужен вызов QUnit.start в IE и Chrome. Кто-нибудь еще видел это или имел какие-либо предложения относительно того, почему?

4b9b3361

Ответ 1

Если кто-то еще сталкивается с этой проблемой, я нашел решение. Эмпирически и Chrome, и IE запускают событие QUnit load, как только QUnit будет доступен, и начнется загрузка вызовов. Я сделал следующее:

<script type="text/javascript" src="qunit-1.11.0.js"></script>
<script type="text/javascript">
    QUnit.config.autostart = false;
</script>
    <script type="text/javascript" data-main="main" src="require.js"></script>

Итак, загрузите QUnit, установите автозапуск, а затем загрузите requirejs

Это более беспорядочно, чем установка autostart = false в main.js, но это имеет преимущество работы:)