从测试规格文件中模拟实际功能所需的对象

时间:2019-04-10 15:04:30

标签: javascript angular unit-testing object jasmine

我在实际的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”块中初始化的自定义对象。

如何从spec文件中注入/提供实际功能所需的对象?

0 个答案:

没有答案