Как я могу ввести макеты в рамках определенной функции? - PullRequest
0 голосов
/ 14 февраля 2019

Я должен проверить следующую функцию 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, но я не нашел решения.

Есть ли способвыполнить его и предоставить область, в которой функция имеет поддельное окно в своей области видимости?

Буду признателен за любую помощь или предложение.

Спасибо!

...