用Jasmine测试木偶视图和把手模板

时间:2012-08-14 17:24:09

标签: javascript backbone.js jasmine handlebars.js marionette

我正在尝试测试骨干应用程序 当我需要测试一个简单的backbone.view我没有问题。
如果我需要测试使用Backbone.Marionette(ItemView或CompositeView)和Handlebars template制作的Backbone View,我会收到以下消息:

NoTemplateError: Could not find template: 
function(context, options) {
    if (!compiled) {
      compiled = compile();
    }
    return compiled.call(this, context, options);
  };

function(context, options)的代码来自handlebars-1.0.0.beta.6.js 知道如何修复代码吗?

这是我正在进行的测试:

describe("AppViewMarionette", function() {
    beforeEach(function(){
        this.view = new AppViewMarionette();

    });

    describe("Rendering", function () {

        it("returns the view object", function () {
            expect(this.view.render()).toEqual(this.view);
        });
    });

});

1 个答案:

答案 0 :(得分:3)

您需要更新您的Marionette版本。 v0.9.1不支持直接分配给template设置的预编译模板。你需要v0.9.7或更高版本。

如果您无法更新,则需要按照以下说明进行操作:https://github.com/derickbailey/backbone.marionette/wiki/Using-pre-compiled-templates