Jasmine 框架教程:单元测试示例
什么是 JasmineJS?
Jasmine 是一个开源且最流行的 Java脚本库测试框架来测试任何类型的 Java脚本应用程序。Jasmine 遵循行为驱动开发 (BDD) 程序,以确保每一行 Java脚本语句已经过适当的单元测试。
Jasmine 框架用于什么?
测试是任何应用程序的关键要素。对于 NodeJS 单元测试,可用于测试的框架称为 Jasmine。2000 年初,有一个用于测试的框架 JavaScript 名为 JsUnit 的应用程序。 Later 该框架已升级,现在称为 Jasmine。
Jasmine 有助于自动化 单元测试在开发和部署现代 Web 应用程序时,这已成为一项相当关键的实践。
在本 Jasmine 教程中,您将学习如何使用 Jasmine 设置您的环境以及如何为您的第一个 Node.js 应用程序运行 Jasmine 测试。
Jasmine 用于测试 Node.js 应用程序
茉莉花是 行为驱动开发(BDD) 测试框架 Java脚本。确实如此 而不去 依赖于浏览器、DOM 或任何 Java脚本框架。因此,它适合网站、Node.js 项目或任何 Java脚本可以运行。要开始使用 Jasmine,您需要先下载并安装必要的 Jasmine 模块。
如何设置 Jasmine 测试环境
接下来,在本 Jasmine Node JS 教程中,您需要初始化您的环境并检查 jasmine 配置文件。以下步骤显示了如何在您的环境中设置 Jasmine
步骤1) 安装 NPM 模块
您需要 安装 NPM jasmine 模块用于在 Node 应用程序中使用 jasmine 框架。要安装 jasmine-node 模块,请运行以下命令。
npm 安装 jasmine-node
步骤2) 初始化 Jasmine 环境
初始化项目 – 通过执行此操作,jasmine 会为您创建一个 spec 目录和配置 json。spec 目录用于存储所有测试文件。通过执行此操作,jasmine 将知道所有测试的位置,然后可以相应地执行它们。 JSON 文件用于存储jasmine的具体配置信息。
要初始化 jasmine 环境,请运行以下命令
茉莉花初始化
步骤3) 检查您的配置文件。
配置文件将以 jasmine.json 的形式存储在 spec/support 文件夹中。此文件列举了您希望 Jasmine 运行器包含的源文件和 spec 文件。
下面的截图展示了 jasmine 的 package.json 文件的典型示例。
- 注意这里指定了 spec 目录。如前所述,当 jasmine 运行时,它会搜索此目录中的所有测试。
- 接下来要注意的是 spec_files 参数——这表示无论创建什么测试文件都应附加“spec”关键字。
接下来在本 Jasmine 框架教程中,我们将学习如何使用 Jasmine 测试 Node.js 应用程序。
如何使用 Jasmine 测试 Node.js 应用程序
为了使用 Jasmine 对 Node.js 应用程序进行单元测试,需要遵循一系列步骤。
在下面的示例中,我们将定义一个需要测试的将 2 个数字相加的模块。然后,我们将使用测试代码定义一个单独的代码文件,然后使用 jasmine 相应地测试 Add 函数。
步骤1) 定义需要测试的代码。我们将定义一个函数,它将添加两个数字并返回结果。此代码将写入名为“Add.js”的文件中。
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
代码说明
- “exports”关键字用于确保该文件中定义的功能实际上可以被其他文件访问。
- 然后我们定义一个名为“AddNumber”的函数。此函数定义为采用 2 个参数 a 和 b。该函数被添加到模块“exports”,以使该函数成为可由其他应用程序模块访问的公共函数。
- 我们最终让我们的函数返回参数的附加值。
步骤2) 接下来,我们需要定义我们的 jasmine 测试代码,它将用于测试 Add.js 文件中的“Add”函数。以下代码需要放在一个名为的文件中 添加 spec.js。
备注:——需要在测试文件中添加单词‘spec’,以便jasmine可以检测到它。
代码说明
var app=require("../Add.js"); describe("Addition",function(){ it("The function should add 2 numbers",function() { var value=app.AddNumber(5,6); expect(value).toBe(11); }); });
- 我们需要首先包含我们的 Add.js 文件,以便我们可以在此文件中测试“AddNumber”函数。
- 我们现在正在创建测试模块。测试模块的第一部分是描述一种方法,该方法基本上为我们的测试提供了一个名称。在本例中,我们的测试名称是“Addition”。
- 下一步是使用“it”方法对我们的测试进行描述。
- 现在我们调用 Addnumber 方法并传入 2 个参数 5 和 6。这将传递给 App.js 文件中的 Addnumber 方法。然后返回值将存储在名为 value 的变量中。
- 最后一步是进行比较或实际测试。由于我们期望 Addnumber 函数返回的值为 11,因此我们使用方法 expect(value).toBe(the expected value) 来定义它。
输出
- 为了运行测试,需要运行命令 jasmine。
- 下面的截图显示,运行 jasmine 命令后,它会检测到有一个名为 add-spec.js 的测试,并执行该测试。如果测试中有任何错误,则会相应显示。
总结
- 为了测试 Node.js 应用程序,首先需要安装 jasmine 框架。这可以通过使用 Node 包管理器来完成。
- 测试代码需要写在单独的文件中,文件名后面要加上 spec 字样,只有这样 jasmine 才能检测到需要运行某个文件。
- 要运行测试,您需要执行 jasmine 命令。这将查找所有带有“spec”字样的文件并相应地运行该文件。