gpt4 book ai didi

javascript - 带 Jest 的 vue-test-utils 为 map-spread 运算符抛出意外的 token 错误

转载 作者:行者123 更新时间:2023-12-03 11:18:31 24 4
gpt4 key购买 nike

我试图按照本指南 https://vue-test-utils.vuejs.org/en/guides/testing-SFCs-with-jest.html 为我的 Vue 项目设置测试

我完成了指南并为我的一个组件创建了一个测试。然后我运行 jest 并得到以下错误:

unknown: Unexpected token (10:4)
8 | export default {
9 | computed: {
> 10 | ...mapGetters([
| ^
11 | 'user'
12 | ])
13 | }

我用谷歌搜索了这个错误并查看了其他示例项目,但我仍然不知道如何解决这个问题。

我们将不胜感激。

App.vue

<template>
<div id="app" />
</template>

<script>
import { mapGetters } from 'vuex'

export default {
computed: {
...mapGetters([
'user'
])
}
}
</script>

App.spec.js

import { shallow } from '@vue/test-utils'
import App from './App'

describe('App', () => {

it('works', () => {
const wrapper = shallow(App)

expect(wrapper.isVueInstance()).toBeTruthy()
})
})

.babelrc

{
"presets": [
["env", { "modules": false }]
],
"env": {
"test": {
"presets": [
["env", { "targets": { "node": "current" }}]
]
}
}
}

package.json(开个 Jest )

"jest": {
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"transform": {
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest",
"^.+\\.js$": "<rootDir>/node_modules/babel-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
}
}

最佳答案

通过这个答案: SyntaxError on spread operator, while using babel env preset

要使用传播运算符,你必须使用 babel-plugin-transform-object-rest-spread,所以安装它:
npm 安装 --save-dev babel-plugin-transform-object-rest-spread

并在.babelrc中的“plugins”选项下添加:
"plugins": ["transform-object-rest-spread"]

另外,看看 https://vue-test-utils.vuejs.org/guides/#mocking-getters在测试中 mock 你的 setter/getter 。

关于javascript - 带 Jest 的 vue-test-utils 为 map-spread 运算符抛出意外的 token 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com