- JasmineJS 教程
- JasmineJS - 主页
- JasmineJS - 概述
- JasmineJS - 环境设置
- JasmineJS - 编写文本和执行
- JasmineJS - BDD 架构
- JasmineJS - 测试构建块
- JasmineJS - 匹配器
- JasmineJS - 跳过块
- JasmineJS - 平等检查
- JasmineJS - 布尔检查
- JasmineJS - 顺序检查
- JasmineJS - 空检查
- JasmineJS - 不平等检查
- JasmineJS - 不是数字检查
- JasmineJS - 异常检查
- JasmineJS - beforeEach()
- JasmineJS - afterEach()
- JasmineJS - 间谍
- JasmineJS 有用资源
- JasmineJS - 快速指南
- JasmineJS - 有用的资源
- JasmineJS - 讨论
JasmineJS - BDD 架构
Jasmine 遵循Behave驱动开发 (BDD) 框架。在学习Jasmine工作原理之前,我们先来了解一下什么是BDD框架。
以下流程图描述了 BDD 框架的不同阶段。
步骤 1 - 开始
在此阶段,我们将为 Jasmine 应用程序准备好环境。
第 2 步 - 编写失败的测试
在此步骤中,我们将编写第一个测试用例。很明显,这个测试将会失败,因为没有这样的文件或函数要测试。
步骤 3 - 编写代码使其通过
在此阶段,我们将准备需要测试的 JavaScript 文件或函数。这个阶段至关重要,因为我们需要确保前期准备的所有测试用例都能成功。
步骤 4 - 重构
重构是 BDD 模型的一个非常重要的阶段,我们需要为特定的应用程序或功能准备尽可能多的测试用例。
步骤 5 - 停止
如果一切顺利,那么您的应用程序必须准备就绪并启动。因此,我们可以将此步骤视为 BDD 应用程序的结束。
例子
现在我们已经掌握了一些关于BDD框架工作原理的知识。让我们看看Jasmine在JavaScript测试线上是如何遵循这个BDD框架的。
正如屏幕截图所示,我们需要使用 Jasmine 框架测试 Abc.js。SpecRunner.html是输出文件,它将采用Spec.js(测试用例文件)、Abc.js(要测试的文件)、LIB 作为输入,运行规范文件中存在的所有测试用例,并将结果渲染到浏览器。
Lib - 这些是内置的 JavaScript 文件,有助于测试我们项目中使用的不同函数和其他 JavaScript 文件。
Spec.js(测试用例文件) - 这是包含测试任何 JavaScript 函数或文件所需的所有测试用例的 JavaScript 文件。在 BDD 方法中,我们将首先编写测试,因此这是需要首先更新的文件。这肯定会失败,因为我们的项目中不存在可以测试的此类文件或函数。该文件可以无限次重构,直到所有功能都经过测试。
Abc.js(要测试的文件) - 这是包含将使用 Spec.js 和 Lib 文件进行单元测试的功能的文件。
SpecRunner.html - SpecRunner.html 是一个普通的 html 文件,它将借助嵌入的 JavaScript 代码呈现单元测试的输出。