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


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”模块以在测试中使用。

10-05 20:43
查看更多