cucumber入門

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重新安裝)。 

(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。
發佈了28 篇原創文章 · 獲贊 25 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章