BDD 架构(BDD Architecture)
Jasmine遵循行为驱动开发(BDD)框架。 在学习Jasmine的工作原理之前,让我们知道什么是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代码的帮助下呈现单元测试的输出。