Функция остановки тестирования QUnit Async не работает


person Tim    schedule 08.06.2012    source источник


Ответы (2)


Это не ясно из документов, но stop() просто гарантирует, что демонтаж для теста не будет запущен до тех пор, пока не будет вызван start(). Это никоим образом не откладывает операторы в текущем тестовом примере после вызова stop().

Правильный ответ на ваш вопрос предоставлен jhorback; положить удаление в разборке.

person Godsmith    schedule 20.03.2014

Можно попробовать поместить удаление в демонтаж модуля. Это будет ждать, пока не будет вызван метод start() и выполнение текста не будет завершено.

QUnit.module("new test", {
    setup: function () {
        var testIframe = $('<iframe id="testiframe" src="/" />').appendTo("body");
        testIframe.load(function() {
            console.log('done loading iframe');
        });                              
    },

    teardown: function () {
       testIframe.remove();
    }
});

QUnit.stop только говорит QUnit подождать определенное количество миллисекунд перед проверкой результатов. Кроме того, событие загрузки iframe может не запускаться, если у iframe нет действительного источника src.

person jhorback    schedule 02.07.2012