什么是 babel-plugin-rewire-exports
babel-plugin-rewire-exports 是一个 Babel 插件,它提供了一种新的方式来测试 JavaScript 模块。这个插件允许你使用类似于 “单元测试重写” 或 “基于依赖注入的测试模块” 所提供的功能,去测试有依赖关系的模块(比如 ES6 模块),而无需每次测试的时候都要重新启动、重建应用并重新调整模块的环境。
babel-plugin-rewire-exports 的功能
该插件提供了三个新的语法:
$stub:通过这个语法,你可以使用任意的值来替换对应模块或导出值。
------ - ----- - ---- ----------------------------- --- ----- - ------- ------ ------- -----
在你的测试代码中,你可以用下面的方式改变该导出值:
------ ----- ---- ------------ --------------------------------- ---- -- -- ------------------------------------ ---- ------------------- ----
$mock:通过这个语法,你可以模拟任意导出值。
------ - ----- - ---- ----------------------------- ----- ---- - ------- ------ ------- ----
在你的测试代码中,你可以用下面的方式改变该导出值:
------ ---- ---- ------------ -------------------------------- ---------- - ------ --- -- -- -- ----------------------------------- ---------- - ------ --- -- -------------------- ----
$reset:这个语法允许你重置所有导出值。
------ - ------ - ---- ----------------------------- ------ ----- ----- - ---------- ------ -------- ------ - ------ ----- -
在你的测试代码中,你可以用下面的方式重置所有导出值:
------ - -- -------- ---- ------------ ------------------------------- ---------------------------- ----------- ----------------------------- -----------
安装 babel-plugin-rewire-exports
在命令行中安装 babel-plugin-rewire-exports:
--- ------- ---------- ---------------------------
在你的 .babelrc 或 babel-loader 配置文件中加入该插件:
- ---------- ------------------------------- -
示例代码
myModule.js
------ - ------ ----- - ---- ----------------------------- ------ ----- ---- - ---------- ------ -------- ----------- - ------------------ --------- - ------ -------- ---------------- - ---- - ------- - ------ ------- - ----- ---------- -------- ------ ------ ------ -
myModule.test.js
------ ------ ---- ----------------------------- ------ -------- ---- ------------ -------------------- -- -- - ------------- -- - ------------------------------- -- ---------- ----- -------- ------ -- -- - ----- --- - ------------------ ------ -------------------- ------------------------------------ ----------- -- ---------- ---- ------ -- -- - ----- ------- - ---- ----- -------------------------------- -------- --------------------------- -------- -- ---------- ---- --------- -- -- - --- ------- - ---- ----- ----- ------ - ------------------------------------ --------------------- -- - ------- - ---- -- ------------------------ ------ --------------------- ------- ------ -- --
结论
我们已经介绍了 babel-plugin-rewire-exports 的一些介绍,以及如何使用它测试 JavaScript 模块。根据上述示例代码和教程,你可以看到这个插件是如何简单易用,和它的学习以及指导意义。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/168440