BDD 架构(BDD Architecture)

优质
小牛编辑
130浏览
2023-12-01

Jasmine遵循行为驱动开发(BDD)框架。 在学习Jasmine的工作原理之前,让我们知道什么是BDD框架。

以下流程图描述了BDD框架的不同阶段。

BDD框架

Step 1 − Start

在这个阶段,我们将为Jasmine应用程序准备好环境。

Step 2 − Write a failing test

在这一步中,我们将编写我们的第一个测试用例。 很明显,这个测试会失败,因为没有这样的文件或函数需要测试。

Step 3 − Write a code to make it pass

在这个阶段,我们将准备我们需要测试的JavaScript文件或函数。 这个阶段至关重要,因为我们需要确保我们在早期阶段准备的所有测试用例都能成功。

Step 4 − Refactor

重构是BDD模型的一个非常重要的阶段,我们需要为特定的应用程序或函数准备尽可能多的测试用例。

Step 5 − Stop

如果一切顺利,那么您的应用程序必须准备就绪。 因此,我们可以将此步骤视为BDD应用程序的结束。

例子 (Example)

我们现在已经收集了一些关于BDD框架工作原理的知识。 让我们看看Jasmine如何在JavaScript测试中遵循这个BDD框架。

截图描述我们需要使用Jasmine框架测试Abc.js。 SpecRunner.html是输出文件,它将采用Spec.js(Test case file ), Abc.js(file to be tested) ,LIB作为输入并运行spec文件中的所有测试用例并将结果呈现到浏览器。

工作准则

Lib - 这些是内置的JavaScript文件,有助于测试我们项目中使用的不同函数和其他JavaScript文件。

Spec.js(Test case file) - 这是包含测试任何JavaScript函数或文件所需的所有测试用例的JavaScript文件。 在BDD方法中,我们将首先编写测试,因此这是需要首先更新的文件。 肯定会失败,因为我们的项目中没有可以测试的文件或函数。 此文件可以无限次重构,直到测试完所有功能。

Abc.js(File to be tested)的文件Abc.js(File to be tested) - 这是包含您的功能的文件,将使用Spec.js和Lib文件进行单元测试。

SpecRunner.html - SpecRunner.html是一个普通的html文件,它将在嵌入式JavaScript代码的帮助下呈现单元测试的输出。