茉莉花找不到自我调用的功能

时间:2015-02-11 15:40:07

标签: javascript backbone.js jasmine

更新:我已经从index.html文件中包含了JSON配置以供参考。

我使用Jasmine Python模块测试Django应用程序的Backbone前端。但我开始时遇到一些麻烦。

我将我的Backbone代码打包到单独的模块中,并通过一个名为app的自调用函数调用它们(以防止所有内容超出全局范围):

var app = (function ($) {
    var config = $('#config'),
        app = JSON.parse(config.text());
    $(document).ready(function () {
        var router = new app.router();
    });
    return app;
})(jQuery);

但是,当我编写以下测试时,我得到一个回复​​,说app是"未定义":

describe('Test app namespace', function () {
    it('should be defined', function () {
        expect(app).toBeDefined();
    });
});
来自index.html的

    <script type="text/json" id="config">
        {
            "models": {},
            "collections": {},
            "views": {},
            "router": null,
            "apiRoot": "{% url 'api-root' %}"
        }
    </script>

与此同时,我可以创建一个测试helloworld.js模块,运行一个类似的测试,让它通过。

感谢您的帮助!

0 个答案:

没有答案