- 行为驱动开发
- BDD - 首页
- BDD - 简介
- BDD - 测试驱动开发
- BDD - 以BDD的方式进行TDD
- BDD - 示例规范
- BDD - 工具
- BDD - Cucumber
- BDD - Gherkin
- BDD - SpecFlow
- BDD 有用资源
- BDD - 快速指南
- BDD - 有用资源
- BDD - 讨论
行为驱动开发 - 工具
开发团队常常误以为BDD是一个工具框架。实际上,BDD是一种开发方法,而不是工具框架。但是,与其他开发方法一样,BDD也有一些工具。
几种BDD工具被用于不同的平台和编程语言。它们是 -
Cucumber(Ruby框架)
SpecFlow(.NET框架)
Behave(Python框架)
JBehave(Java框架)
JBehave Web(具有Selenium集成的Java框架)
Lettuce(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框架)等框架的Gherkin语言支持)
Cucumber
Cucumber是一个用于可执行规范的免费工具,在全球范围内使用。Cucumber允许软件开发团队用纯文本描述软件的行为。文本以业务可读的、特定于领域的语言编写,并作为文档、自动化测试和开发辅助,全部整合为一种格式。您可以使用四十多种不同的口语(英语、中文等)与Cucumber一起使用。
Cucumber – 主要功能
Cucumber的主要功能如下 -
Cucumber可用于可执行规范、测试自动化和动态文档。
Cucumber适用于用任何语言编写的Ruby、Java、NET、Flex或Web应用程序。
Cucumber支持在表格中进行更简洁的测试 - 类似于FIT的功能。
Cucumber通过将需求、自动化测试和文档融合到一个连贯的整体中,彻底改变了软件开发生命周期:验证软件的纯文本可执行规范。
SpecFlow
SpecFlow是用于.NET平台的BDD工具。SpecFlow是一个开源项目。源代码托管在GitHub上。
SpecFlow使用Gherkin语法来表示特性。Gherkin格式由Cucumber引入,也用于其他工具。Gherkin语言作为GitHub上的一个项目进行维护 - https://github.com/cucumber/gherkin
Behave
Behave用于Python框架。
Behave使用三种类型的文件存储在名为“features”的目录中 -
包含您的行为场景的特性文件。
“steps”目录,其中包含场景的Python步骤实现。
可选地,一些环境控制(在步骤、场景、特性或整个流程之前和之后运行的代码)。
Behave特性使用Gherkin(带有一些修改)编写,并命名为“name.feature”。
附加到特性和场景的标签可通过传递给它们的“feature”或“scenario”对象在环境函数中获得。在这些对象上,有一个名为“tags”的属性,它是一个附加的标签名称列表,按照在特性文件中找到的顺序排列。
对Gherkin标准的修改 -
Behave可以解析标准的Gherkin文件,并扩展Gherkin以允许使用小写步骤关键字,因为这些关键字有时可以使特性规范更易读。
Lettuce
Lettuce是一个基于Cucumber的非常简单的BDD工具。它可以将纯文本功能描述作为Python项目的自动化测试执行。Lettuce旨在完成BDD中最常见的任务。
Concordion
Concordion是一个用于为Java框架自动化示例规范的开源工具。
虽然核心功能很简单,但强大的扩展框架API允许您添加功能,例如使用Excel电子表格作为规范、向输出添加屏幕截图、显示日志信息等。
Concordion允许您使用段落、表格和正确的标点符号以普通语言编写规范,并且不需要使用Given/When/Then结构化语言。
Concordion已被移植到其他语言,包括 -
C#(Concordion.NET)
Python(PyConcordion)
Ruby(Ruby-Concordion)