Javascript Jest Vue失败:语法错误:意外标记';出口';

Javascript Jest Vue失败:语法错误:意外标记';出口';,javascript,vue.js,jestjs,quasar,snapshot-testing,Javascript,Vue.js,Jestjs,Quasar,Snapshot Testing,我已经成功地与Quasar和Vue建立了玩笑,并且我的大部分测试工作都很顺利。由于以下错误消息,唯一失败的测试是此测试 Jest encountered an unexpected token This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript. By default, if Jest sees a Babel confi

我已经成功地与Quasar和Vue建立了玩笑,并且我的大部分测试工作都很顺利。由于以下错误消息,唯一失败的测试是此测试

Jest encountered an unexpected token

This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".

Here's what you can do:
 • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
 • If you need a custom transformation specify a "transform" option in your config.
 • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html

Details:

/Users/kristijanstefanoski/Desktop/Projektt/Quasar/projektt/node_modules/capacitor-firebase-auth/dist/esm/index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './definitions';
                                                                                         ^^^^^^

SyntaxError: Unexpected token 'export'

> 1 | import * as auth from 'capacitor-firebase-auth';
    | ^
  2 | import * as firebase from "firebase";
  3 | import store from '../store';
  4 | import {set} from "src/mixins/storage";

  at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
  at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
  at Object.<anonymous> (src/mixins/auth.js:1:1)
Jest遇到意外的令牌
这通常意味着您正试图导入Jest无法解析的文件,例如,它不是纯JavaScript。
默认情况下,如果Jest看到一个Babel配置,它将使用它来转换您的文件,忽略“node_modules”。
以下是您可以做的:
•要转换某些“节点模块”文件,可以在配置中指定自定义“transformIgnorePatterns”。
•如果需要自定义转换,请在配置中指定“转换”选项。
•如果您只是想模拟您的非JS模块(例如二进制资产),您可以使用“moduleNameMapper”配置选项将其剔除。
您将在文档中找到这些配置选项的更多详细信息和示例:
https://jestjs.io/docs/en/configuration.html
细节:
/Users/kristijanstefanoski/Desktop/Projektt/Quasar/Projektt/node_modules/capactor firebase auth/dist/esm/index.js:1
({“Object.”:函数(模块、导出、require、u dirname、u filename、全局、jest){export*from./definitions';
^^^^^^
SyntaxError:意外标记“导出”
>1 |从“电容器firebase auth”导入*作为auth;
| ^
2 |从“firebase”导入*作为firebase;
3 |从“../store”导入存储;
4 |从“src/mixins/storage”导入{set};
在ScriptTransformer._transformAndBuildScript(节点_modules/@jest/transform/build/ScriptTransformer.js:537:17)
在ScriptTransformer.transform(node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at对象。(src/mixins/auth.js:1:1)
我已经在jest配置中添加了以下内容:

  transformIgnorePatterns: [
    '<rootDir>/node_modules/(?!quasar/lang)',
    '<rootDir>/node_modules/(?!capacitor-firebase-auth/)',
  ],
transformIgnorePatterns:[
“/node_modules/(?!quasar/lang)”,
“/node_modules/(?!电容器firebase auth/)”,
],
我还尝试了以下方法

  transformIgnorePatterns: [
    '<rootDir>/node_modules/(?!quasar/lang)',
    '<rootDir>/node_modules/(?!capacitor-firebase-auth/dist/esm/)',
  ],
transformIgnorePatterns:[
“/node_modules/(?!quasar/lang)”,
“/node_modules/(?!电容器firebase auth/dist/esm/)”,
],

但同样没有运气。我可能遗漏了什么?

我不认为问题出在firebase本身。Jest和babel在导入
.css
等文件时经常出现这种情况。你能显示测试文件吗?@Tony它只是简单的快照测试文件,只是导入组件并对其运行测试是的,如果是的话组件导入未包含在
模块文件扩展中的文件。
。Jest将无法按照错误日志中的说明处理这些文件。
这通常意味着您试图导入Jest无法解析的文件,例如,它不是纯JavaScript。
。这就是为什么我需要检查您的测试文件和组件文件。如果在这种情况下,您需要存根/模拟这些文件。我认为问题不在于firebase本身。当您导入诸如
.css
之类的文件时,Jest和babel经常会出现这种情况。您可以显示测试文件吗?@Tony它只是简单的快照测试文件,只是导入组件并对其运行测试。是的,如果该组件nt导入未包含在
模块文件扩展中的文件。
。Jest将无法按照错误日志中的说明处理这些文件。
这通常意味着您试图导入Jest无法解析的文件,例如,它不是纯JavaScript。
。这就是为什么我需要检查您的测试文件和组件文件。如果这是例如,您需要存根/模拟这些文件