如何在Vue Test Utils 中注入window变量

我有一个组件,使用了一些window全局变量,

window.appInfo = {
    name: 'my-app',
    version: '1.0.0'
}

在使用Vue Test Utils 进行单元测试的时候发现,appInfo 报undefined

阅读 5.6k
1 个回答

在jest的全局文件(假设是setup.js)文件中把这个对象进入mock即可

首先配置全局文件

// jest.config.js
module.exports = {
  setupFiles: ['<rootDir>/tests/unit/setup.js'], // 指定setup的位置
  //...其他配置
 }
}

在setup.js中进行mock

// <rootDir>/tests/unit/setup.js

// mock全局对象appInfo
window.appInfo = {
    name: 'my-app',
    version: '1.0.0'
}

在运行测试用例前会先运行setup中的代码,这样就不会报错了

推荐问题