微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 jest 和 vue 抛出 SyntaxError: Unexpected identifier error for import

如何解决使用 jest 和 vue 抛出 SyntaxError: Unexpected identifier error for import

我是 jest 的新手,我在我的项目中使用了 vue3 和 jest 26.6.3

//pachage.json

"jest": {
  "modulefileExtensions": [
    "js","json","vue"
  ],"moduleNameMapper": {
    "^@/(.*)$": "<rootDir>/src/$1","^vue$": "vue/dist/vue.common.js"
  },"transform": {
    ".*\\.(vue)$": "<rootDir>/jest/jest-vue",".*": "babel-jest"
  }
},

我创建了一个 jest-vue 文件内容

// jest/jest-vue.js

const templateRegex = /<template>([\s\S]*)<\/template>/gm;
const scriptRegex = /<script>([\s\S]*)<\/script>/gm;
const babelJest = require("babel-jest");

module.exports = {
  process(src,filepath,config,transformOptions) {
    templateRegex.lastIndex = scriptRegex.lastIndex = 0;
    const template = templateRegex.exec(src)[1];
    return `${babelJest.process(
      scriptRegex.exec(src)[1],filepath + ".js",transformOptions
    )};
        exports.default['template']=\`${template}\`;
        `;
  },};

// app.spec.js

import App from "@/App.vue";

describe('App',() => {
  // Inspect the raw component options
  it("has data",() => {
    expect(typeof App.data).toBe("function");
  });
});

在我运行纱线测试后,我收到此错误

({"Object.":function(module,exports,require,__dirname,__filename,global,jest){[object 对象];

SyntaxError: Unexpected identifier

> 1 | import App from "@/App.vue";

如果您需要在此处查看我的代码,请使用 github repo

解决方法

我认为这个笑话缺少与 Vue 的联系。

尝试安装vue-jest必须包含@next

yarn add vue-jest@next

使用vue-test进行.vue文件的代码转换

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

你应该很高兴

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?