Vue / Typescript / Jest-Jest单元测试语法错误:意外的令牌导入

时间:2018-10-23 13:21:54

标签: typescript vue.js jestjs vuetify.js babel-jest

我正在运行Vue / Typescript / Vuetify项目(使用vue cli 3创建)。对于单元测试,我使用的是Jest。我已升级到Vuetify(1.3.1)的较新版本。自升级以来,运行Jest测试时出现错误:

location_to_project\node_modules\vuetify\lib\index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import Vuetify from './components/Vuetify';
                                                                                        ^^^^^^
   SyntaxError: Unexpected token import

      1 | import Vue from 'vue'
      2 | // @ts-ignore
    > 3 | import Vuetify from 'vuetify/lib'
        | ^
      4 | import 'vuetify/src/stylus/app.styl'
      5 |
      6 | Vue.use(Vuetify, {

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:4    7)
03:17)
      at Object.<anonymous> (src/plugins/vuetify.ts:3:1)

版本和环境

Vuetify: 1.3.0 Vue: 2.5.17

以前工作于:

Vuetify: 1.2.10 Vue: 2.5.17

babel.config.js

module.exports = {
  presets: [
        [
            "@vue/app",
            {
                useBuiltIns: "entry"
            }
    ],
  ],
};

tsConfig编译器:

"target": "esnext"

"module": "esnext"

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。
但是,我可以在下面解决。

import Vuetify from 'vuetify'

只需删除“ / lib”

答案 1 :(得分:0)

我有一个类似的(奇怪的)问题。在this线程中找到了答案。

解决方案是运行

npx jest --clearCache

然后测试就可以了。