Vue.js 带jest的vue单元测试

Vue.js 带jest的vue单元测试,vue.js,jestjs,vue-test-utils,Vue.js,Jestjs,Vue Test Utils,我在使用jest进行web应用程序单元测试,但遇到了一个棘手的问题。 我在test.spec.js文件中导入一个组件,该组件从另一个文件导入一个http请求函数,该http请求函数使用我在vuex状态中定义的变量,该状态数据使用窗口对象,这会导致测试文件错误。以下是一些代码。 test.spec.js:导入名为Info.vue的组件 import Info from '@/pages/user/Info.vue' Info.vue:从get-api-data.js import { reque

我在使用jest进行web应用程序单元测试,但遇到了一个棘手的问题。 我在test.spec.js文件中导入一个组件,该组件从另一个文件导入一个http请求函数,该http请求函数使用我在vuex状态中定义的变量,该状态数据使用窗口对象,这会导致测试文件错误。以下是一些代码。

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

import Info from '@/pages/user/Info.vue'
Info.vue:
get-api-data.js

import { requestData } from '@/service/get-api-data'
获取api数据。js:导入存储(vuex)数据

从“@/store”导入存储

存储具有涉及窗口对象的变量:

env: {
    apiUrl: window._env.apiUrl,
    name: window._env.user,
    password: window._env.apiKey
},
测试套件无法运行。 下面是错误:

在哪里设置
窗口。_env
变量?我使用(function(){}())将它放在一个文件中,并将其包含在index.html中。因此,您在窗口中没有
_env
变量,请尝试将此文件导入测试文件是的,我设法创建了它,但遇到另一个问题,
无法读取未定义的属性“toLowerCase”
此错误在哪里?请提供更多信息,我没有看到任何使用
toLowerCase
的代码