【发布时间】:2019-06-10 18:37:30
【问题描述】:
我有一个要测试的脚本,其中包含全局变量,其中一些变量通过函数调用进行初始化。例如
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函数
【问题讨论】:
标签: javascript unit-testing jasmine mocking