Yuw*_*wei 6 jestjs vue-test-utils vite
我在 Vite 中使用 Jest。它一直有效,直到我从 node_module 导入模块。
\nimport { defineComponent } from 'vue'\nimport { useCookies } from '@vueuse/integrations/useCookies'\nRun Code Online (Sandbox Code Playgroud)\n我收到这个错误。
\n FAIL src/components/MyComponent/index.test.ts\n \xe2\x97\x8f Test suite failed to run\n\n Cannot find module '@vueuse/integrations/useCookies' from 'src/components/MyComponent/index.vue'\n\n Require stack:\n src/components/MyComponent/index.vue\n src/components/MyComponent/index.test.ts\n\n 16 | <script lang="ts">\n 17 | import { defineComponent } from 'vue'\n > 18 | import { useCookies } from '@vueuse/integrations/useCookies'\n | ^\n 19 |\n 20 | export default defineComponent({\n\n at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:306:11)\nRun Code Online (Sandbox Code Playgroud)\n我想 Jest 无法解析以“@”开头的模块。也许我应该写一个 moduleNameMapper ?我也尝试安装 vite-jest,但不知何故我的应用程序崩溃了,也许我搞砸了一些东西。
\n不管怎样,感谢您抽出时间,如果您需要更多信息,例如我的 jest.config.js 或 vite.config.ts,请告诉我。
\n谢谢。
\n小智 2
在文件中使用moduleNameMapper ,jest.config.js如下所示:
module.exports = {
//...
moduleNameMapper: {
"^@/(.*)$": "<rootDir>/src/$1",
},
};
Run Code Online (Sandbox Code Playgroud)
另外,如果您使用 TypeScript,您还应该将以下内容添加到您的tsconfig.json文件中:
{
"compilerOptions": {
"paths": {
"@/*": ["./src"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2563 次 |
| 最近记录: |