vuejs2 - ReferenceError:未定义响应
问题描述
精简版:
vue-test-utils
我正在使用and 为我的 Vue 组件编写一个测试用例jest
。
我正在尝试Response
在我的一个测试用例中创建一个对象,但我不断收到错误
ReferenceError: Response is not defined
长版
当使用 jest 调度 Vuex 操作时,我试图模拟 API 响应。我创建了一个像这样的 Vuex 动作
let fakeAccountList = [
{"id":"abcd","title":"Random Account 1"},
{"id":"pqrs","title":"Random Account 2"}
]
actions = {
getAccounts: jest.fn(()=>{
return new Promise((resolve, reject)=>{
resolve(mockResponse(200,'ok',fakeAccountList))
})
})
}
该getAccounts
操作返回一个 Promise,它解析为一个帐户列表。mockResponse
功能如图:
mockResponse = (status, statusText, response) => {
return new Response(response, {
status: status,
statusText: statusText,
headers: {
'Content-type': 'application/json'
}
});
};
当mockResponse
被调用时,我得到了错误ReferenceError: Response is not defined
我发现了这个非常老的问题:
https ://github.com/facebook/jest/issues/930
评论表明它已修复,但它对我不起作用。我不想为此导入额外的库isomorphic-fetch
。
这是我devDependencies
的package.json
:
"devDependencies": {
"@vue/cli-plugin-babel": "3.0.3",
"@vue/cli-plugin-e2e-cypress": "3.0.3",
"@vue/cli-plugin-eslint": "3.0.3",
"@vue/cli-plugin-unit-jest": "3.0.3",
"@vue/cli-service": "3.0.3",
"@vue/test-utils": "1.0.0-beta.25",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "23.6.0",
"less": "3.0.4",
"less-loader": "4.1.0",
"lodash": "4.17.10",
"node-sass": "4.9.2",
"sass-loader": "7.0.3",
"vue-template-compiler": "2.5.16",
}
任何帮助,将不胜感激。提前致谢
解决方案
我正在使用一个反应应用程序,只需在您的模拟文件中添加以下语句即可解决问题。希望这可能对您或其他人有所帮助。
import 'isomorphic-fetch'
推荐阅读
- python - 使蒙版边界在实例分割蒙版中更加明显
- python - 在 Python 中访问 SOAP XML 响应中的嵌套子项的问题
- r - 种子设置:为什么输入不变后输出不同
- kubernetes - Strimzi 的 Apache Kafka 运算符是否仍处于测试版?
- reactjs - 当 redux 状态发生变化时,React-Redux 在屏幕上渲染组件两次
- php - /dev/urandom 上的 Wordpress open_basedir 错误
- vue.js - Vue.js - 在输入字段中显示列表项的布尔值
- c# - Revit API - 创建 View3D 时如何设置北向?
- python - 可以在弹性搜索中访问dense_vector的值吗?
- python - (2003, "Can't connect to MySQL server on "0.0.0.0" (tiemd out) ) 错误