购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 第三方测试工具

除了Node.js自身提供的测试工具外,开源社区也提供了非常不错的测试工具。本节介绍Nodeunit、Mocha和Vows这三款第三方工具。

3.2.1 Nodeunit

Nodeunit提供了一种编写多个测试脚本的方法。编写测试用例后,每个测试用例都以串行方式运行。要使用Nodeunit,需要使用npm全局安装它。

Nodeunit提供了一种轻松运行一系列测试的方法,而无须将所有内容都包装在try/catch块中。它支持所有assert模块测试,并提供自己的几种方法来控制测试。每个测试用例都作为测试脚本中的对象方法导出。每个测试用例都有一个控制对象,通常名为test。测试用例中的第一个方法是expect方法,用来告诉Nodeunit在测试用例中预期值是多少。测试用例中的最后一个方法是done方法,告诉Nodeunit测试用例已完成。

以下是一个Nodeunit的典型测试流程。

要运行该测试用例,需要执行下面的命令。

下面是一个完整的Nodeunit测试脚本,有6个断言。它由两个测试单元组成,标记为“Test 1”和“Test 2”。其中,第一个测试单元运行4个单独的测试,而第二个测试单元运行两个。expect方法调用反映了在单元中运行的测试数。

上述例子的运行结果如下。

测试前面的符号表示成功或失败。上述测试脚本中的所有测试均未失败,因此没有错误脚本或堆栈跟踪输出。

3.2.2 Mocha

Mocha被认为是另一个流行的测试框架Espresso的继承者。Mocha适用于浏览器和Node应用程序。它允许通过done函数进行异步测试,但可以省略同步测试的功能。Mocha可以与任何断言库一起使用。

安装Mocha的命令如下。

要运行该测试用例,需要执行下面的命令。

上述例子的运行结果如下。

3.2.3 Vows

Vows是一种行为驱动开发(BDD)测试框架,与其他框架相比具有的优势是有更全面的文档。测试由测试套件组成,测试套件本身由多批顺序执行的测试组成。批处理由一个或多个并行执行的上下文组成,每个上下文由一个主题组成。

安装Vows的命令如下。

以下是使用Vows编写的测试用例。

在Vows测试应用程序中,圆形对象是主题(topic),区域和周长方法是誓言(vow),两者都封装为Vows上下文。该套件是整体测试应用程序,批处理是测试实例(圆形和两种方法)。

要运行该测试用例,需要执行下面的命令。

上述例子的运行结果如下。

主题始终是异步函数或值。可以直接将对象方法作为主题引用。

在此版本的示例中,每个上下文都是给定标题的对象:测试圆周长和测试圆区域。在每个上下文中有一个主题和一个誓言。

可以合并多个批次,每个批次具有多个上下文,这些上下文又可以具有多个主题和多个誓言。 KMIkPF6PQqPRhuM7oWaqGO4B35C4Dzva0o9P6lKklDeu4MbGbKSm8EqwSQlV2CPi

点击中间区域
呼出菜单
上一章
目录
下一章
×