Я должен проверить следующую функцию Utility в файле index.js :
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, но я не нашел решения.
Есть ли способвыполнить его и предоставить область, в которой функция имеет поддельное окно в своей области видимости?
Буду признателен за любую помощь или предложение.
Спасибо!