светильники жасмин с iframe

Я использую приборы Jasmine и хочу написать тест с HTML, в котором есть iframe.

Проблема в том, что тест выполняется до загрузки моего iframe.
Есть ли решение для этого в самой библиотеке?
Или мне придется реализовать свой собственный механизм, чтобы заставить его ждать?

Вот код:

Приспособление:

<iframe id="test-iframe1" class="test-iframe1" src="data/tests/pages/iframe1.html" style="width: 400px; height: 600px;" frameborder="20"></iframe>

Тест:

describe("iframe -", function() {

    beforeEach(function() {
        var f = jasmine.getFixtures();
        f.fixturesPath = 'base/tests/pages/';
        f.load('iframe-main.htm');
    });

    it('iframe exists', function() {
        // HERE - the iframe has not yet loaded
        expect($('#test-iframe1').length).toBe(1);
    });
});

person Malki    schedule 04.03.2015    source источник


Ответы (1)


Вам нужно добавить функцию done() в beforeEach(), где вы будете проверять загрузку iframe

JS

 beforeEach(function(done) {
    var f = jasmine.getFixtures();
    f.fixturesPath = 'base/tests/pages/';
    f.load('iframe-main.htm');

    $('#test-iframe1').load(function(){
        done();
    });

});

И ваш it() не будет запускаться до вызова done().

person Hennadii Shvedko    schedule 19.08.2015