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()代码>高于要求(…)
修复了它