npm 包 @sealsystems/mocha 使用教程

阅读时长 4 分钟读完

简介

mocha 是一个 JavaScript 测试框架,它能运行在浏览器和 Node.js 环境中。它具有丰富的测试用例编写、并行和异步测试支持、易于调试等特点。同时也有众多的扩展插件。@sealsystems/mocha 是在 mocha 基础上支持展示测试覆盖率的 npm 包。

安装

使用

编写测试用例

假设我们要测试一个求和函数。

我们先编写测试用例。

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

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

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

我们使用 describe 和 it 函数编写测试用例。describe 用于对测试用例进行描述和分类,可以嵌套使用;it 是具体的测试用例。

运行测试用例

使用 @sealsystems/mocha 运行测试用例。

--reporter 参数指定了测试覆盖率报告生成的格式,这里我们使用 mocha-clean 的格式。@sealsystems/mocha 默认集成了一个简单的 HTML 格式的报告格式。

【注】命令行参数 ./node_modules/.bin 可能需要根据你的环境自行调整。

运行结果如下:

我们的两个测试用例都通过了,但是我们并没有看到测试覆盖率报告。

生成测试覆盖率报告

@sealsystems/mocha 使用了 istanbuljs/nyc 来生成测试覆盖率报告。我们需要在命令行中添加 --coverage 参数来生成覆盖率报告。

运行结果如下:

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

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

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

我们看到没有覆盖到任何函数,说明我们还需要编写更多的测试用例来覆盖我们的代码。

生成 HTML 格式的报告

我们可以生成 HTML 格式的报告,方便阅读。

运行结果如下:

我们可以在 report/coverage/index.html 文件中查看报告。

结语

@sealsystems/mocha 是一个便利的测试工具,能为我们的项目提供更全面的测试覆盖率报告,有助于我们更好地发现和排查代码的问题。

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