- 行為驅動開發
- 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)