Javascript Jasmine-如何模拟全局变量&;功能

Javascript Jasmine-如何模拟全局变量&;功能,javascript,unit-testing,jasmine,mocking,Javascript,Unit Testing,Jasmine,Mocking,我有一个脚本,我想测试,其中包括全局变量,其中一些被初始化函数调用。比如说 var g_count = 0; var g_util = addLibrary( "util.lib" ); 我想模拟g_count和g_util 如果我在测试函数中有一个函数调用,我可以用addLibrary=jasmine.createSpy()轻松模拟它但一旦它进入全局范围,模拟就会失败,我会收到一条错误消息 引用错误:未定义addLibrary 编辑:我知道了如何模拟变量。我将其添加到全局属性中 var gl

我有一个脚本,我想测试,其中包括全局变量,其中一些被初始化函数调用。比如说

var g_count = 0;
var g_util = addLibrary( "util.lib" );
我想模拟
g_count
g_util

如果我在测试函数中有一个函数调用,我可以用
addLibrary=jasmine.createSpy()轻松模拟它但一旦它进入全局范围,模拟就会失败,我会收到一条错误消息

引用错误:未定义addLibrary

编辑:我知道了如何模拟变量。我将其添加到全局属性中

var globals = {
    g_count : null
}
出口

module.exports = {
    globals: globals
}
然后监视它

spyOnProperty(util.globals, 'g_count').and.returnValue(5);

我仍然无法理解
addLibrary
函数

我修复了
addLibrary
的错误。因为它用于初始化全局变量,所以在我需要脚本时调用了它。添加
addLibrary=jasmine.createSpy()高于
要求(…)
修复了它