javascript - 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
解决方案
推荐阅读
- python - )''') sqlite3.OperationalError: near ")": 语法错误
- java - 我应该如何创建 Java 应用程序,我应该在哪里放置类?
- javascript - 如何从另一个组件单击按钮时更新一个类组件中的状态?
- android - 函数从不用于 LifecycleObserver 中使用 OnLifecycleEvent 注释的方法
- mysql - 我在mysql中过滤日期时间有问题
- bash - 外壳内的heredoc有问题。bash 脚本
- java - 铸件供应商
给供应商 爪哇 - r - 如何找到投资组合中每只股票的月收益
- c# - 如何避免 Linq 中过滤器 API 中的 if else 语句
- html - 透明导航栏 - 不显示背景