我使用jest进行网络应用程序单元测试,但遇到了一个棘手的案例 . 我在test.spec.js文件中导入一个组件,这个组件从另一个文件导入一个http请求函数,这个http请求函数使用我在vuex状态中定义的var,而这个状态数据使用window对象,这导致了测试文件错误 . 这是一些代码 .

test.spec.js: 导入名为Info.vue的组件

import Info from '@/pages/user/Info.vue'

Info.vue:get-api-data.js 导入http请求函数 requestData

import { requestData } from '@/service/get-api-data'

get-api-data.js: 导入商店(vuex)数据 import store from '@/store'

store 有涉及窗口对象的那些变量:

env: {
    apiUrl: window._env.apiUrl,
    name: window._env.user,
    password: window._env.apiKey
},

并且测试套件无法运行 . 这是错误:

enter image description here