cucumber是一個幫助編寫自動化驗收測試的框架。框架
單元測試用例是由開發人員編寫,目的是保證當前寫的代碼能夠正常運行,即 作的事是對的.工具
驗收測試用例是有需求方編寫,目的是保證當前的代碼能完成目標功能,即 作對的事.單元測試
咱們須要驗收測試,由於開發人員和業務人員只見是有溝通成本的,並且還有可能理解了錯誤的需求,而致使最後寫的代碼能夠運行,可是無用,即開發了錯誤的功能。而驗收測試就起到了這個溝通效果,也能夠說它就是產品的可執行的規格說明書 以及文檔。傳統的文檔的壞處是書寫一次後須要不斷維護而後與代碼進行同步,否則就會逐漸過期,而cucumber編寫驗收測試則是要保證是一直可執行的,因此它是實時反應了項目在當前的真實狀態,當功能發生變化時它也須要維護更新可是成本比較低。測試
cucumber裏有給需求方書寫的feature 文件,其格式形如:開發
Feature 特性 表明了產品的一個功能點文檔
Scenario 情形 表明了用戶使用該功能的一個特定情形同步
Given When Then And 是對這個情形的步驟和驗證描述產品
這一套Feature語法結構在cucumber約定裏叫Gherkin自動化
cucumber是需求方和開發人員的一個溝通工具,須要需求方和開發一塊兒參與,他的完整流程以下io
前邊3步都是對上文提到的Feature文件,即功能特性文件的書寫。它是由業務人員完成。
後邊3步則是對Feature文件裏,所涉及的step動做的定義以及實現,是有開發人員完成。