jQuery qunit动态加载,qunit错误,没有定义qunit的调用

时间:2013-07-16 11:06:42

标签: javascript jquery qunit

我有一个基于jQuery构建的项目。这个网站上有新功能。客户希望为现有功能添加单元测试。

我制作了一个脚本来加载qunit,这取决于requireJs,并放在body标签

之前
     <script> var UNITTEST_ENABLED = true ; </script>
     <script src="qunit.loader.js"></script>
</body>
</html>

qunit.loader.js定义为

(function(){

    if ( !UNITTEST_ENABLED ) {
        return ;
    }

    function loadCss(url) {
        var link = document.createElement("link");
        link.type = "text/css";
        link.rel = "stylesheet";
        link.href = url;
        document.getElementsByTagName("head")[0].appendChild(link);
    }

    var settings = {
          qunitScript : 'http://code.jquery.com/qunit/qunit-git',
          qunitCss : 'http://code.jquery.com/qunit/qunit-git.css',
          requireJsUrl : 'http://requirejs.org/docs/release/2.1.8/minified/require.js'
    };


    var xhr = $.getScript( settings.requireJsUrl );

    xhr.done(function(script, textStatus) {

        $('body').append(
            '<div id="qunit"></div>'
            +'<div id="qunit-fixture"></div>'
        );

        requirejs.config({
           paths: {
                'qunit': settings.qunitScript ,
                'unit_test_1' : 'unit.test.1'
           },
           shim: {
                'unit_test_1': { deps: ['qunit'] }
           }
        });

        loadCss( settings.qunitCss );

        requirejs(['unit_test_1']);

    }).fail(function(jqxhr, settings, exception) {
          console.log( "script loading error." );
    });

}());

我收到Error: No define call for qunit这样的错误。我是requirejs的新手,这是加载模块的正确方法。

0 个答案:

没有答案