我正在尝试使用vue-test-utils
和Jest测试Vue CLI项目。我正在使用vue-material-design-icons
中的一些图标,但是当我运行Jest时,它们并没有变形。这是我运行Jest时遇到的错误:
/path/to/node_modules/vue-material-design-icons/Sitemap.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest)
{<template functional>
^
SyntaxError: Unexpected token <
101 | <script>
102 | import { mapGetters,mapactions } from "vuex";
> 103 | import ControllerIcon from "vue-material-design-icons/Sitemap.vue";
| ^
104 | import SensorIcon from "vue-material-design-icons/accesspoint.vue";
105 | import AlphaBoostIcon from "vue-material-design-icons/Alpha.vue";
106 |
在jest-transform-stub
GitHub页面上阅读自述文件之后,我尝试使用以下配置在vue-material-design-icons
文件中插入jest.config.js
:
...
moduleNameMapper: {
"/vue-material-design-icons\/[\w]+.vue/": "jest-transform-stub","^@/(.*)$": "<rootDir>/src/$1"
},...
...但是它不起作用。我已经在https://regex101.com/和https://www.regextester.com/中测试了正则表达式,并且正则表达式在两个站点中都能正常工作。
如果我将文件路径硬编码到配置中,那么它将起作用:
...
moduleNameMapper: {
"vue-material-design-icons/Sitemap.vue": "jest-transform-stub",...
显然,我不想为项目中每个图标的文件路径进行硬编码。
有人知道为什么正则表达式不起作用吗?
提前谢谢!