[英]Test Jest with babel-plugin-import
由於 babel-plugin-import,Jest 正在崩潰。 我正在使用.less styles 和 Ant 設計,我相信這是造成它的原因。 我是 Jest 庫的新手,所以我不確定導入或解決該問題的正確方法?
示例:
Test Suite failed to run
Cannot find module 'antd/lib/skeleton/style' from 'index.js'
.babelrc 文件
"plugins": [
["import", { "libraryName": "antd", "style": true }],
我嘗試了許多解決方案,例如 babel-jest、moduleNameMapper 等,但很有可能我沒有正確使用它們。
對此的正確答案是:
在.babelrc:
在“env”下的.babelrc 中分離出生產、開發和“測試”。 在生產和開發上,保持 babel-plugin-import 原樣。 在“測試”中,確保將其移除(Jest 無法處理)。
在 Package.json
歡迎您在此文件中配置 Jest,但最重要的是在您的 NPM 腳本上進行測試,您將NODE_ENV=test jest
傳遞給它,以便它設置 babel 將要引用的正確環境。
Docker/Virtualenv/Kubernetes 用戶
最后,如果您使用的是 Docker/Kubernetes 或某種在本地計算機之外的任何位置安裝了軟件包的工具,請確保這些軟件包已實際安裝.....當我從其中刪除 babel-plugin-import 時我忘記了“測試”並開始看到antd is undefined
,這讓我有點撓頭。 當我意識到這是因為 Ant Design 僅安裝在我的 Kubernetes 節點上,而不是實際上在我運行命令的計算機上。 愚蠢的錯誤,但當您看到錯誤代碼數小時后很容易犯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.