我正在使用一个javascript文件,a)声明一个具有函数的对象,b)调用该对象的初始化函数,该对象的哈希值预计将在外部声明。我的Jasmine规范抱怨它找不到散列,因为它不存在!
var Foo = {
init: function(param) { ... }
};
Foo.init(externalVariable);
我最初的感觉是这是一个糟糕的结构,而不是仅仅声明变量,外部声明也应该调用函数,但现在让我们忽略它。
是否有一种方法可以让我在加载源文件之前向Jasmine声明这个变量?
谢谢
将值赋给全局对象,如果它确实是全局对象。只是不要忘记在测试结束时删除它,以保持环境清洁,以便进行其他测试。
beforeEach(function() {
window.externalVariable = "this kinda sucks";
});
afterEach(function() {
delete window.externalVariable;
});