npm 包 babel-plugin-rewire-exports 使用教程

阅读时长 6 分钟读完

什么是 babel-plugin-rewire-exports

babel-plugin-rewire-exports 是一个 Babel 插件,它提供了一种新的方式来测试 JavaScript 模块。这个插件允许你使用类似于 “单元测试重写” 或 “基于依赖注入的测试模块” 所提供的功能,去测试有依赖关系的模块(比如 ES6 模块),而无需每次测试的时候都要重新启动、重建应用并重新调整模块的环境。

babel-plugin-rewire-exports 的功能

该插件提供了三个新的语法:

  1. $stub:通过这个语法,你可以使用任意的值来替换对应模块或导出值。

    在你的测试代码中,你可以用下面的方式改变该导出值:

  2. $mock:通过这个语法,你可以模拟任意导出值。

    在你的测试代码中,你可以用下面的方式改变该导出值:

  3. $reset:这个语法允许你重置所有导出值。

    在你的测试代码中,你可以用下面的方式重置所有导出值:

安装 babel-plugin-rewire-exports

  1. 在命令行中安装 babel-plugin-rewire-exports:

  2. 在你的 .babelrc 或 babel-loader 配置文件中加入该插件:

示例代码

myModule.js

-- -------------------- ---- -------
------ - ------ ----- - ---- -----------------------------

------ ----- ---- - ----------

------ -------- ----------- -
  ------------------ ---------
-

------ -------- ---------------- -
  ---- - -------
-

------ ------- -
  -----
  ----------
  --------
  ------
  ------
  ------
-

myModule.test.js

-- -------------------- ---- -------
------ ------ ---- -----------------------------

------ -------- ---- ------------

-------------------- -- -- -
  ------------- -- -
    -------------------------------
  --

  ---------- ----- -------- ------ -- -- -
    ----- --- - ------------------ ------
    --------------------
    ------------------------------------ -----------
  --

  ---------- ---- ------ -- -- -
    ----- ------- - ---- -----
    -------------------------------- --------
    --------------------------- --------
  --

  ---------- ---- --------- -- -- -
    --- ------- - ---- -----
    ----- ------ - ------------------------------------
    --------------------- -- -
      ------- - ----
    --

    ------------------------ ------
    --------------------- ------- ------
  --
--

结论

我们已经介绍了 babel-plugin-rewire-exports 的一些介绍,以及如何使用它测试 JavaScript 模块。根据上述示例代码和教程,你可以看到这个插件是如何简单易用,和它的学习以及指导意义。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/168440