npm包unexpected-markdown使用教程

阅读时长 5 分钟读完

介绍

unexpected-markdown 是一个 Node.js 模块,通过将预期的测试框架与 Markdown 文件结合使用,可以轻松地编写文档和测试用例。此模块扩展了 unexpected 测试库,并提供了一组用于测试 Markdown 文档的 API。

在本篇文章中,我们将详细介绍如何使用 unexpected-markdown 进行前端开发中的单元测试和文档编写。

安装

你可以使用 npm 包管理器全局安装 unexpected-markdown

或者,你可以将其作为依赖项添加到你的项目中:

使用

编写测试用例

首先,我们需要编写测试用例。在这里,我们将介绍如何使用 unexpected-markdown 来测试 Markdown 中的代码示例。假设我们有以下 Markdown 文件:

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

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

-- ---

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

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

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

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

subtract(a, b)

从第一个数字中减去第二个数字并返回结果。

License

MIT © John Doe

这将输出测试结果:

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


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

使用自定义的 expect 库

默认情况下,unexpected-markdown 使用内置的 unexpected 库来运行测试。但是,你也可以使用自己的 expect 库。例如,在以下示例中,我们将使用 Chai 库:

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

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

-- ---

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

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

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

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

subtract(a, b)

从第一个数字中减去第二个数字并返回结果。

License

MIT © John Doe

自定义 API 测试规则

您还可以自定义 API 测试规则,以验证你的代码是否符合预期。以下是一个示例 Markdown 文件,其中使用了 unexpected 库的 typevalue 断言:

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

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

-- ---

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

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

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

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

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

- ----------------------------------------------------------- --------
----------------------------------------------------------------------------------
纠错
反馈