我正在使用一个javascript文件,a)声明一个带有函数的对象,b)用一个希望在外部声明的哈希调用该对象的init函数。我的Jasmine规范抱怨它无法找到哈希,因为它不存在!
var Foo = {
init: function(param) { ... }
};
Foo.init(externalVariable);
我最初的感觉是这个结构很糟糕,而不仅仅是声明变量,外部声明也应该调用函数,但是现在让我们忽略它。
有没有办法让我在加载源文件之前将此变量声明为Jasmine?
由于
答案 0 :(得分:3)
将值分配给全局对象(如果它确实是全局对象)。不要忘记在测试结束时将其删除以保持环境清洁以进行其他测试。
beforeEach(function() {
window.externalVariable = "this kinda sucks";
});
afterEach(function() {
delete window.externalVariable;
});