行為驅動開發 - 工具



開發團隊常常誤以為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)

廣告

© . All rights reserved.