更新:我已经从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模块,运行一个类似的测试,让它通过。
感谢您的帮助!