簡體   English   中英

使用 babel-plugin-import 測試 Jest

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM