📅  最后修改于: 2021-01-18 05:35:15             🧑  作者: Mango
开发团队常常误以为BDD是一种工具框架。实际上,BDD是一种开发方法而不是工具框架。但是,与其他开发方法一样,也存在用于BDD的工具。
几种BDD工具用于不同的平台和编程语言。他们是-
黄瓜(Ruby框架)
SpecFlow(.NET框架)
表现(Python框架)
JBehave(Java框架)
JBehave Web(具有Selenium集成的Java框架)
生菜(Python框架)
Concordion(Java框架)
Behat(PHP框架)
Kahlan(PHP框架)
DaSpec(JavaScript框架)
Jasmine(JavaScript框架)
Cucumber-js(JavaScript框架)
Squish GUI Tester(用于JavaScript, Python,Perl,Ruby和Tcl的BDD GUI测试工具)
Spock(Groovy框架)
Yadda(对Jasmine等框架的小黄瓜语言支持(JavaScript框架))
Cucumber是用于全球使用的可执行规范的免费工具。 Cucumber使软件开发团队可以用纯文本描述软件的行为方式。文本以业务可读的,特定于领域的语言编写,并充当文档,自动测试和开发辅助工具,所有这些都被组合成一种格式。您可以在Cucumber中使用四十多种不同的口语(英语,中文等)。
黄瓜的主要特点如下-
黄瓜可用于可执行规范,测试自动化和生活文档。
黄瓜可与以任何语言编写的Ruby,Java,NET,Flex或Web应用程序一起使用。
黄瓜支持表中更简洁的测试-与FIT相似。
Cucumber通过将需求,自动测试和文档融合为一个有凝聚力的规范,从而对软件开发生命周期进行了革命性改变:用于验证软件的纯文本可执行规范。
SpecFlow是用于.NET平台的BDD工具。 SpecFlow是一个开源项目。源代码托管在GitHub上。
SpecFlow对功能使用Gherkin语法。 Gherkin格式由Cucumber引入,也被其他工具使用。 Gherkin语言在GitHub上作为项目维护-https: //github.com/cucumber/gherkin
行为用于Python框架。
行为可以处理存储在名为“功能”的目录中的三种文件类型-
功能文件,其中包含您的行为方案。
场景的Python步骤实现的“步骤”目录。
(可选)一些环境控制(在步骤,场景,功能或整个射击比赛之前和之后运行的代码)。
行为特征是使用Gherkin(经过一些修改)编写的,并被命名为“ name.feature”。
附加到功能部件和方案的标签可通过传递给它们的“功能”或“方案”对象在环境功能中使用。在这些对象上,有一个称为“标签”的属性,该属性是按标签在特征文件中找到的顺序附加的标签名称的列表。
对小黄瓜标准的修改-
行为可以解析标准的Gherkin文件并扩展Gherkin以允许使用小写的step关键字,因为这些关键字有时可以允许更具可读性的功能规范
Lettuce是一个非常简单的基于Cucumber的BDD工具。它可以执行纯文本功能描述,作为针对Python项目的自动化测试。生菜针对BDD中最常见的任务。
Concordion是一个开放源代码工具,用于自动执行Java Framework的示例规范。
尽管核心功能很简单,但强大的扩展框架API允许您添加功能,例如使用Excel电子表格作为规范,将截图添加到输出,显示日志记录信息等。
Concordion允许您使用段落,表格和适当的标点符号以普通语言编写规范,而无需使用Give / When / Then来使用结构化语言。
Concordion已移植到其他语言,包括-
C#(Concordion.NET)
Python (PyConcordion)
红宝石(Ruby-Concordion)