首页 > 解决方案 > Ava+Sinon 联合测试。ReferenceError:未定义窗口

问题描述

我试图编写一个测试文件来测试其中一个模块。该模块有一行代码可以访问window.location.origin,这在运行单元测试时会导致错误:ReferenceError: window is not defined.

被测模块及测试用例代码:

我的文件.js:

const isExternal =  window.location.origin.includes('.com');

const getAccess = () => {
    if(isExternal){
        //Do somthing
    }
}

myfile.test.js:

const test = require('ava');
const sinon = require('sinon');
const myfile = require('../../src/myfile');

test.serial('test myfile', t => {
    myfile.isExternal = true;
    //Assert below
})

我的问题是当我 const myfile = require('../../src/myfile');在代码中有一行并运行npm run test时,它会显示一个错误:

ReferenceError: window is not defined
tests\myfile.test.js exited with a non-zero exit code: 1

标签: javascriptnode.jsglobalsinonava

解决方案


推荐阅读