閱讀119 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Cucumber:行為驅動開發指南》——2.4 實現第一個步驟定義

本節書摘來自異步社區《Cucumber:行為驅動開發指南》一書中的第2章,第2.4節,作者:【英】Matt Wynne , 【挪】Aslak Hellesy著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看

2.4 實現第一個步驟定義

我們已經確定計算器的第一個版本將會以命令行參數的形式接受用戶輸入,因此,對於Given the input “2+2”的步驟定義,我們的工作就是將輸入記下來,以便下一步運行計算器的時候知道傳入怎樣的命令行參數。在features/step_definitions文件夾中,編輯文件calculator_steps.rb,修改第一個步驟定義如下:

下載first_taste/03/features/step_definitions/calculator_steps.rb
Given /^the input "([^"]*)"$/ do |input| 
 @input = input
end

這裏我們所做的是將特性的輸入保存在一個 Ruby 實例變量中,隻要這個特定的場景還在運行,該實例變量就一直存在,因此我們可以在下一個步驟真正運行計算器的時候再次使用它。

不錯,上一步很簡單,現在我們該做什麼呢?讓我們問問cucumber:

Feature: Adding

 Scenario: Add two numbers    
  Given the input "2+2"     
  When the calculator is run  
   TODO (Cucumber::Pending)
   ./features/step_definitions/calculator_steps.rb:9
   features/adding.feature:5
  Then the output should be "4"

1 scenario (1 pending)
3 steps (1 skipped, 1 pending, 1 passed)
0m0.003s

耶!我們的第一個步驟通過了!當然,整個場景還是處於待定狀態,因為我們還有另外兩個步驟需要實現,不過我們已經開始有了一些進展。

最後更新:2017-06-05 12:01:54

  上一篇:go  《Cucumber:行為驅動開發指南》——2.5 運行程序
  下一篇:go  《Cucumber:行為驅動開發指南》——2.3 創建步驟定義