本節書摘來自異步社群《cucumber:行為驅動開發指南》一書中的第2章,第2.3節,作者:【英】matt wynne , 【挪】aslak hellesy著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
先不要過多考慮之前cucumber輸出的代碼片段是什麼意思,我們先把這些代碼複制并粘貼到一個ruby檔案中。和特性檔案一樣,ruby期望在約定俗成的位置找到步驟定義:
<code>$ mkdir features/step_definitions</code>
現在在fetures/step_definitions目錄下建立一個名為calculator_steps.rb的檔案,隻要這是一個ruby檔案,cucumber并不介意你給這個檔案起什麼名字,但這裡我們給這個檔案起的名字其實不錯。接着用編輯器打開該檔案并粘貼下面的代碼片段:
運作cucumber,它會告訴我們下一步做什麼:
場景已經從未定義(undefined)更新到了待定(pending)。這是個好消息,因為它說明cucumber正在運作第一個步驟,不過在此過程中它撞上了我們複制并粘貼的那些步驟定義代碼中的pending标記,pending的意思是告訴cucumber這個場景還是一個正在進行中的工作。我們需要用真正的實作替換掉這個pending标記。
注意,cucumber報告它跳過了另外兩個步驟,隻要遇到了失敗的或者待定的步驟,cucumber就會停止運作目前場景并跳過該場景剩餘的步驟。
下面我們來實作第一個步驟定義。