Имитация объектов, необходимых для реальной функции из файла спецификации теста - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть метод / функция в реальном файле JS (main.js), который выглядит так:

function returnPath() {
    return `path=${encodeURIComponent(window.location.href.replace(window.location.origin, ''))}`;
}

Теперь в моем файле спецификации жасмина (mainSpec.js) у меня есть следующий код:

 describe('Test returnPath function', () => {

        it('test the path string returned', () => {

          const window = {
            location: {
                href: "https://www.example.com/hello/world",
                origin: "https://www.example.com/"
            }
          };
          const pathStr = returnPath();

          // assert
          expect(pathStr).toBe('path=hello%2Fworld');
        });

      });

Но когда я запускаю свой тест, он терпит неудачу, так как window.location.href не указывает на пользовательский объект, инициализированный в блоке 'it'.

Как внедрить / предоставить объекты, необходимые для фактической функции, из файла спецификации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...