【轉】Webpack 中配置的 alias 在 Mocha 測試用例中
背景
在日常開發中,有些模組層級太深,在使用的時候可能會寫成
import mod from '../../../../a/deep/folder/mod'
為了解決這種問題,我們使用 webpack 的 能力,對目錄進行命名:
{ resolve: { alias: { mod: path.resolve(__dirname, 'src/a/deep/folder/mod') } } }
在使用中,可以直接使用下面這種方式引入
import module from 'mod'
問題
蛋疼的地方來了
使用 Mocha 進行單元測試:
mocha --compilers js:babel-core/register test/specs/**/*Test.js
我們透過 Babel 進行編譯後測試,遇到了問題,Mocha 並不能讀取到 Webpack 內配置的 alias,所以一直提示找不到 mod 模組。
module.js:557 throw err; ^ Error: Cannot find module 'mod' at Function.Module._resolveFilename (module.js:555:15) at Function.Module._load (module.js:482:25) at Module.require (module.js:604:17) at require (internal/module.js:11:18) ...
解決
搜尋了各種方案,在一個不起眼的地方看到了一個方案,使用 Babel 外掛:
.babelrc 檔案
"plugins": [ [ "babel-plugin-webpack-aliases", { "config": "./webpack.config.test.js" } ] ]
在 Mocha 測試之前會透過 Babel 進行編譯,編譯時會透過 babel-plugin-webpack-aliases
外掛以支援 webpack 中的 alias。
其他解決方案
在 Mocha 測試之前,透過 webpack 進行預編譯。
版權宣告
本部落格文章均為 原創或翻譯,採用進行許可。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2310/viewspace-2809419/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- webpack的alias別名引用 在webstorm中點選不能跳轉?WebORM
- 測試框架 Mocha 例項教程框架
- AutoMapper在MVC中的運用01-配置、使用、單元測試、舉例APPMVC
- iOS開發中的單元測試(三)——URLManager中的測試用例解析iOS
- JDBC 在效能測試中的應用JDBC
- 單元測試在Unity中的應用Unity
- Webpack 中 css import 使用 alias 相對路徑WebCSSImport
- 軟體測試中的測試計劃和測試用例起到什麼作用?
- 單元測試 -- mocha + chaiAI
- 學習測試框架Mocha框架
- 測試中,介面測試的必要性與介面測試的基礎用例設計
- 使在.profile中設定的alias生效
- webpack在PC專案中的應用Web
- 搭建 vue2 單元測試環境(karma+mocha+webpack3)VueWeb
- [譯] 快速,完整的 Mocha 測試指南
- zsh 命令在 alias 中如何轉義 ' 字元(單引號)字元
- 【轉】測試用例編寫(功能測試框架)框架
- AI技術在基於風險測試模式轉型中的應用AI模式
- 技術前沿:AI大模型在自動化測試中的應用例項AI大模型
- 自動化測試在國際軟體測試中的應用
- 在.Net中json應用測試整理JSON
- 【vue系列】vue2.0 專案配置 Mocha 單元測試Vue
- BurpSuite在非Web應用測試中的應用UIWeb
- 軟體測試用例設計中的結構設計
- Linux中的aliasLinux
- 測試面試-測試用例面試
- 數字證書及其在安全測試中的應用
- 前沿探索|AI 在 API 開發測試中的應用AIAPI
- 自動化測試在 Kubernetes Operator 開發中的應用:以 OpenTelemetry 為例
- webpack中babel的配置問題WebBabel
- vue-cli中的webpack配置VueWeb
- 測試用例
- Webpack 中css 如何 import 使用 alias別名 相對路徑WebCSSImport
- 測試用例的方法
- 手工測試用例與自動化測試用例的區別
- TCL指令碼語言在測試系統中的應用指令碼
- vue-cli 3.0配置webpack目錄別名aliasVueWeb
- 在 WebStorm 中,配置能夠識別 Vue CLI 3 建立的專案的別名 alias @WebORMVue