javascript - 使用 Vue Js 运行 Jest 测试时出现 "SyntaxError: Cannot use import statement outside a module"

标签 javascript unit-testing vue.js jestjs

我按照本教程 https://frontstuff.io/build-your-first-vue-js-component构建一个 vue js 组件。
然后我按照本教程 https://frontstuff.io/unit-test-your-first-vuejs-component对组件进行单元测试。
单元测试在组件上的 import 语句处失败并返回此错误:

● Test suite failed to run


C:\Users\SHINIGAMI-ALFSABAH\Documents\Workspace\Dev\Vue\star-rating\node_modules\vue-awesome\icons\star.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import Icon from '../components/Icon.vue'
                                                                                         ^^^^^^

SyntaxError: Cannot use import statement outside a module

  12 | 
  13 | <script>
> 14 |     import 'vue-awesome/icons/star'
     | ^
  15 |     import Icon from 'vue-awesome/components/Icon'
  16 | 
  17 |     export default {

  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 src/components/Rating.vue:14:1
  at Object.<anonymous> (src/components/Rating.vue:67:3)

任何帮助将不胜感激。

最佳答案

我从之前的类似问题 Unexpected token 'import' error while running Jest tests? 中找到了关于 SO 的答案

基本上我不得不在我的 Jest 配置中更改我的 transformIgnorePatterns 数组:
transformIgnorePatterns: ["/node_modules/"],

transformIgnorePatterns: ["/node_modules/(?!vue-awesome)"],
确保 jest 编译“vue-awesome”模块以在测试中使用。

关于javascript - 使用 Vue Js 运行 Jest 测试时出现 "SyntaxError: Cannot use import statement outside a module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60237484/

相关文章:

javascript - OnClick 第一次不起作用

javascript - 子元素填充空间以匹配另一个 div 的宽度

multithreading - 运行多线程 nunit 测试的最佳方式

javascript - 无法在vue单文件组件中循环数组

javascript - HTML 中的正则表达式或

javascript - 删除 chart.js 中的 "label"

java - @SpringBootTest : @MockBean not injected when multiple test classes

java - 获取jdk12中java.lang.reflect.Fields的声明字段

javascript - 在哪里执行方法来保存 nuxt-i18n 中的语言环境更改?

vue.js - npm run build 生成错误的路径