Cucumber 入門

cucumber的官方網站是http://cukes.info/, 由于它的實現語言是ruby,所以它也是rubygems龐大家族的一份子,目前cucumber可以和諸多語言開發的程序進行工作,比如ruby,java,.net,flex等等開發的程序進行工作,并且支 持多達30多種語言的描述方式

1、Cucumber是什么
Cucumber是一個在敏捷團隊十分流行的自動化的功能測試工具,但是其不僅僅是一個測試工具,它能夠為我們建立一個易讀的,可執行的特性文檔。

2、Cucumber的特點
(1)、易于安裝,使用。無論是在Ruby平臺,.Net平臺,Java平臺安裝都很容易。
(2)、集成度高,對開發環境沒有破壞,并和多種Web開發框架集成。
(3)、易于理解,Cucumber的特性文檔都是采用近似于普通文本的語法寫成,很容易讀懂和編寫,甚至是非技術人員都可以編寫。
(4)、易于維護,因Cucumber是從用戶的業務邏輯出發去寫測試,不涉及到具體的技術框架,和內部業務流程,因為業務邏輯的變動頻率相教于技術選擇,內部處理流程穩定得多,測試被破壞的概率就低很多。

3、Cucumber First Demo
(1)、安裝Ruby,之后通過命令gem install cucumber安裝Cucumber,因為Cucumber還使用了Rspec作Assertion,因此我們還需要安裝Rspec,命令”gem install rspec“。(在過程中,若出現ERROR: Error installing cucumber:cucumber requires gherkin (~> 2.2.9,runtime)的錯誤,是因為Cucumber依賴的一個gem,gherkin有老版本。可通過gem install gherkin --version,指定安裝新版本解決。或者gem uninstall gherkin,gem install gherkin重新安裝)。

安裝DevKit
C:\DevKit> chcp 1252c:\DevKit> ruby dk.rb init
(2)、創建一個Ruby project,然后在其項目目錄下創建一個features的目錄,在features目錄下創建basic.feature的文件,其中的內容如下: Feature: Hello World Feature In order to ensure that my installation works As a Developer I want to run a quick Cucumber test Scenario: Hello World Scenario Given The Action is Hello When The Subject is World Then The Greeting is Hello, World

(3)、在features目錄下創建step_definitions目錄,在step_definitions目錄下創建step_steps.rb文件,內容如下: require 'rspec/expectations' Given /The Action is ([A-z])/ do |action| @action = action end When /The Subject is ([A-z])/ do |subject| @subject = subject end Then /The Greeting is (.*)/ do |greeting| greeting.should == "#{@action}, #{@subject}" end

(4)、在項目根目錄下執行cucumber

4、Cucumber的術語

(1)、Feature File:該文件通過一些具有代表性的例子來描述一個用戶需求,

(2)、Key Examples:關鍵用例,特性之間都可以通過自己的關鍵用例加以區分,每個關鍵用例都有明確的輸入和輸出。

(3)、Scenario:測試場景,一個用戶特性的一個關鍵用例就稱之為一個測試場景。

(4)、Step:測試步驟,一個測試場景涉及到多個步驟操作,

(5)、Step_Definitions:步驟定義,用來定義測試用例中步驟的執行順序。

(6)、Gherkin:用來定義Feature File的結構和關鍵字含義的語言,可以通過這個語言在未支持cucumber的平臺上實現一個cucumber

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容