我必须测试文件 index.js 中的下一个Utility功能:
function getQParams(){
var url = window.location.href
var params = url.split('?')[1];
return params;
}
我使用此测试创建了一个新的测试文件 index.test.js :
it('should get all the params', () => {
var result = utils.getQParams();
assert.isNotNull(result);
});
但是很显然,它在测试执行时间中没有定义窗口。
我的目标是不修改index.js文件,使用假href参数注入模拟的窗口对象。
但是我似乎无法尝试使用(newcontext),在测试文件中创建全局变量,将模拟库用作sinonJS,但是我没有找到解决方案。
有没有一种方法可以执行它并提供一个作用域,使该函数在其作用域中具有模拟窗口?
任何帮助或建议将不胜感激。
谢谢!