如何使用jasmine-node设置带有jasmine的window.Handlebars

时间:2012-09-06 17:59:04

标签: ember.js jasmine handlebars.js jasmine-node

我正在尝试使用ember.js运行我常用的jasmine-node测试,因为ember需要加载把手我也包含了该库。

但是出于某种原因,当ember点击这段代码时

window.Handlebars

我未定义。

以下是我在茉莉花测试中加载jquery / handlebars / ember的方法

var jsdom = require("jsdom");
window = jsdom.jsdom("<html></html");
global.window = window;

require("path/to/jquery");
require("path/to/handlebars-1.0.0.beta.6");
require("path/to/ember-1.0.pre");

describe("test demo", function() {
  it("should not blow up when running this", function() {
    expect(2).toBe(2);
  });
});

我可以很容易地将其破解到handlebars.js文件的底部,但我想了解还有什么办法可以避免为了测试而直接修改这个库。

window.Handlebars = Handlebars;

(在我将helper加载到帮助程序之前,此行后面是

global.Handlebars = window.Handlebars;

**更新**

我对ember-data.js也有同样的问题

似乎设置window.Foo不是 - 但实际上我需要设置global.Foo(有关此方法的任何想法吗?)

(function() {
window.DS = Ember.Namespace.create({
  CURRENT_API_REVISION: 4
});
})();
global.DS = window.DS; //I had to add this to make DS available

0 个答案:

没有答案