[英]Jasmine - How To Mock Global Variables & Functions
我有一个要测试的脚本,其中包括全局变量,其中一些已通过函数调用进行了初始化。 例如
var g_count = 0;
var g_util = addLibrary( "util.lib" );
我想模拟g_count
和g_util
如果我在测试函数中有函数调用,则可以轻松地使用addLibrary = jasmine.createSpy();
对其进行模拟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();
高于require(...)
修复它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.