Запуск тестов жасмина против нескольких версий jQuery - PullRequest
3 голосов
/ 09 января 2012

Какой лучший способ настроить модульные тесты (в частности, с использованием Jasmine), которые тестируют с использованием нескольких версий jQuery. Очевидным способом было бы, чтобы глобальная тестовая страница просто создала серию фреймов, но мне интересно, есть ли способ достичь этого на одной странице. В качестве наивного первого удара я попробовал следующее, которое не запускает никаких тестов.

У кого-нибудь есть идеи, как это можно изменить, или лучший подход?

function testSuite() {
    describe("jquery.flickbook", function() {
          it("makes testing JavaScript awesome!", function() {
            expect(true).toBeTrue();
          });
    });
}

function testAllJquerys() {
    var jqueryInclude = document.getElementById("jquery"),
        head = document.getElementsByTagName("head")[0],
        versions = "1.6,1.7.1,1.5.1".split(",");


    function runSuite() {
        describe("jquery-" + version, testSuite);
        switchjQuery();
    }

    function switchjQuery() {
        version = versions.shift();
    //  jQuery = $ = null;
        jqueryInclude = document.createElement("script");
        jqueryInclude.type = "text/javascript";
        if (jqueryInclude.addEventListener){  
          jqueryInclude.addEventListener('load', runSuite, false);   
        } else if (jqueryInclude.attachEvent){  
          jqueryInclude.attachEvent('onload', runSuite);  
        }  
        head.appendChild(jqueryInclude);
        jqueryInclude.src = "../../jquery/jquery-" + version + ".js";
    }

    switchjQuery()
}

testAllJquerys();

1 Ответ

1 голос
/ 23 января 2012

$ версии Библиотека jQuery может помочь, но я еще не пробовал:

"Элегантный способ протестировать плагин в нескольких версиях jQuery. Прекрасно работает с QUnit (и, возможно, с другими системами тестирования). "

https://github.com/protonet/jquery-versions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...