我已经安装了Vue测试工具,安装了Jest,并有一个测试用例来验证Vue实例是否工作。
我的测试如下所示
/* global describe, test, expect */
/* eslint no-undef: "error" */
import { mount } from '@vue/test-utils';
import Logo from '@/components/Logo';
describe('Logo', ()=> {
test('is a vue instance', () => {
const wrapper = mount(Logo)
expect(wrapper.vm).toBeTruthy()
});
});
我使用npm run test
运行它,得到以下错误
import { mount } from '@vue/test-utils'
Syntax error: Unexpected token {
(with an carrot pointing to the { in front of { mount }
任何想法?
* * * * *编辑添加我jest.config.js * * * *
module.exports = {
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/$1',
'^~/(.*)$': '<rootDir>/$1',
'^vue$': 'vue/dist/vue.common.js'
},
moduleFileExtentions: ['js', 'vue', 'json'],
testPathIgnorePatterns: ['/dist/', '/node_modules/'],
transform: {
'^.+\.js$' : 'babel-jest',
'.*\.(vue)$' : 'vue-jest'
},
collectCoverage: true,
collectCoverageFrom: [
'<rootDir>/components/**/*.vue',
'<rootDir>/pages/**/*.vue'
]
}
我找到了问题所在。我需要在babel.config
的预设中添加'@babel/preset-env'我现在得到与Vuetify相关的错误,但对于这个问题,解决了这个问题。我将为另一个问题创建一个新问题。